Добрый день, товарищи! У пользователей с офисом 2010 при открытии юзерформы выдает ошибку: "Compile error: Can't find project or library". Ругается на строку кода, выделяя слово Format: [vba]
Добрый день, товарищи! У пользователей с офисом 2010 при открытии юзерформы выдает ошибку: "Compile error: Can't find project or library". Ругается на строку кода, выделяя слово Format: [vba]
Leprotto, покажите файл Excel - если у вас на разных машинах разные офисы лучше позднее связывание использовать (просто неясно зачем вам в принципе вордовская библиотека)
Leprotto, покажите файл Excel - если у вас на разных машинах разные офисы лучше позднее связывание использовать (просто неясно зачем вам в принципе вордовская библиотека)buchlotnik
Leprotto, ну да - смотрите, объявляем Word не как приложение, а как объект и заменяем вордовские константы на числовые значения - тогда должно пахать без подключения библиотеки
[vba]
Код
Sub ex()
'Dim AppWord As Word.Application Dim AppWord As Object Dim shtA As Worksheet Dim shtExD As Worksheet 'Dim shtExN As Worksheet Dim rngExD As Range 'Dim rngExN As Range
Set shtA = ThisWorkbook.Sheets("Класс А") Set shtExD = ThisWorkbook.Sheets("ExD") 'Set shtExN = ThisWorkbook.Sheets("ExN") Set rngExD = shtExD.Range("A1").CurrentRegion 'Set rngExN = shtExN.Range("A1").CurrentRegion
Set AppWord = CreateObject("Word.Application") 'создание файла Word
With frmOk .Label2 = "Выгрузка выполнена." .Show End With
Application.CutCopyMode = False AppWord.Activate
End Sub
[/vba]
Leprotto, ну да - смотрите, объявляем Word не как приложение, а как объект и заменяем вордовские константы на числовые значения - тогда должно пахать без подключения библиотеки
[vba]
Код
Sub ex()
'Dim AppWord As Word.Application Dim AppWord As Object Dim shtA As Worksheet Dim shtExD As Worksheet 'Dim shtExN As Worksheet Dim rngExD As Range 'Dim rngExN As Range
Set shtA = ThisWorkbook.Sheets("Класс А") Set shtExD = ThisWorkbook.Sheets("ExD") 'Set shtExN = ThisWorkbook.Sheets("ExN") Set rngExD = shtExD.Range("A1").CurrentRegion 'Set rngExN = shtExN.Range("A1").CurrentRegion
Set AppWord = CreateObject("Word.Application") 'создание файла Word
buchlotnik, Скорректировал код и отключил библиотеку ворд. У меня в 2013 все так же работает хорошо, на 2010 форма стала открываться, но теперь ругается на [vba]
Sub шкалаА() On Error GoTo Ops Dim shtA As Worksheet Set shtA = ThisWorkbook.Worksheets("Класс А") Dim X As Variant Dim Y As Variant Dim rngX As Range Dim rngY As Range Set rngX = Sheets("Класс А").Range("выгрузкаС") Set rngY = Sheets("Класс А").Range("выгрузкаПО") X = rngX.Value Y = rngY.Value ThisWorkbook.Worksheets("Класс А").PivotTables("СТ_классА").PivotFields("Дата").ClearAllFilters ThisWorkbook.Worksheets("Класс А").PivotTables("СТ_классА").PivotFields("Дата").PivotFilters.Add2 Type:=xlDateBetween, Value1:=X, Value2:=Y Exit Sub Ops: FrmA.TextBox1 = Format(shtA.Range("A19").Value, "dd/mm/yyyy") FrmA.TextBox2 = Format(shtA.Range("A21").Value, "dd/mm/yyyy")
MsgBox "Ошибка выбранного периода" End Sub
[/vba]
buchlotnik, Скорректировал код и отключил библиотеку ворд. У меня в 2013 все так же работает хорошо, на 2010 форма стала открываться, но теперь ругается на [vba]
Sub шкалаА() On Error GoTo Ops Dim shtA As Worksheet Set shtA = ThisWorkbook.Worksheets("Класс А") Dim X As Variant Dim Y As Variant Dim rngX As Range Dim rngY As Range Set rngX = Sheets("Класс А").Range("выгрузкаС") Set rngY = Sheets("Класс А").Range("выгрузкаПО") X = rngX.Value Y = rngY.Value ThisWorkbook.Worksheets("Класс А").PivotTables("СТ_классА").PivotFields("Дата").ClearAllFilters ThisWorkbook.Worksheets("Класс А").PivotTables("СТ_классА").PivotFields("Дата").PivotFilters.Add2 Type:=xlDateBetween, Value1:=X, Value2:=Y Exit Sub Ops: FrmA.TextBox1 = Format(shtA.Range("A19").Value, "dd/mm/yyyy") FrmA.TextBox2 = Format(shtA.Range("A21").Value, "dd/mm/yyyy")