powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Шаблон с макросом word не видет переменную
3 сообщений из 3, страница 1 из 1
Шаблон с макросом word не видет переменную
    #38661143
Cosmosila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!
Занимаюсь настройкой шаблонов Word
Возникла следующая проблема в моем макросе:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Sub COKIAA3()
'Excel
ExcelPath = ActiveDocument.Path             ' this assumes same folder as Word Document
MyWorkbookName = "D:\COKIAA3.xls"      '[*] AMEND
MyLookupSheetName = "Sheet"           '[*] AMEND
'Word
Set WordDoc = ActiveDocument
Set WordRange = WordDoc.Content
Dim appWd As Word.Application

'- OPEN EXCEL APPLICATION
'-----------------------------------------------------------------------------------------
'- See if Excel is open already (next line gives error if not)
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")        ' set variable if Excel already open
'-----------------------------------------------------------------------------------------
'- check for error
    If Err.Number <> 0 Then
        Set xlApp = CreateObject("Excel.Application")   ' open Excel application
    End If
On Error GoTo 0     ' reset error trapping
'-----------------------------------------------------------------------------------------
'- USE EXCEL
'-----------------------------------------------------------------------------------------
    With xlApp
        .Visible = False             ' show Excel/no show Excel
        '-------------------------------------------------------------------------------------
        '- Excel workbook & worksheet
        'MyWorkbookName = ExcelPath & "\" & MyWorkbookName
        Set MyWorkbook = .Workbooks.Open(FileName:=MyWorkbookName)
        Set MyLookupSheet = MyWorkbook.Worksheets(MyLookupSheetName)
        MyLookupSheet.Activate
[color=red]' документ созданный на базе шаблона с макросом не видит эту переменную[/color]
   [color=red]     q = ActiveSheet.UsedRange.Rows.Count[/color]
        MyLookupSheet.Range("A1:H" & q).Copy
    End With
    
Selection.PasteExcelTable _
    LinkedToExcel:=False, _
    WordFormatting:=False, _
    RTF:=False
    
    With xlApp
        .CutCopyMode = False
        .Quit
    End With
    
End Sub



При запуске данного макроса в документе созданным на базе шаблона с макросом vba не видет переменную q.
Пробовал добавить макрос в созданный файл, аналогично не видит переменную.
Если запустить макрос в обычном файле Word то все отлично работает.
Что я делаю не так?
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
Шаблон с макросом word не видет переменную
    #38661167
Фотография Surrogate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cosmosila,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
Sub COKIAA3()
'Excel
ExcelPath = ActiveDocument.Path             ' this assumes same folder as Word Document
MyWorkbookName = "D:\COKIAA3.xls"      '[*] AMEND
MyLookupSheetName = "Sheet"           '[*] AMEND
'Word
Set WordDoc = ActiveDocument
Set WordRange = WordDoc.Content
Dim appWd As Word.Application
Dim q As Integer

'- OPEN EXCEL APPLICATION
'-----------------------------------------------------------------------------------------
'- See if Excel is open already (next line gives error if not)
On Error Resume Next
Set xlapp = GetObject(, "Excel.Application")        ' set variable if Excel already open
'-----------------------------------------------------------------------------------------
'- check for error
    If Err.Number <> 0 Then
        Set xlapp = CreateObject("Excel.Application")   ' open Excel application
    End If
On Error GoTo 0     ' reset error trapping
'-----------------------------------------------------------------------------------------
'- USE EXCEL
'-----------------------------------------------------------------------------------------
    With xlapp
        .Visible = True             ' show Excel/no show Excel
        '-------------------------------------------------------------------------------------
        '- Excel workbook & worksheet
        'MyWorkbookName = ExcelPath & "\" & MyWorkbookName
        Set MyWorkbook = .Workbooks.Open(FileName:=MyWorkbookName)
        Set MyLookupSheet = MyWorkbook.Worksheets(MyLookupSheetName)
        MyLookupSheet.Activate
     q = xlapp.ActiveSheet.UsedRange.Rows.Count ' здесь указываем, что ActiveSheet расположен в Экселе
        MyLookupSheet.Range("A1:H" & q).Copy
    End With
    
Application.Selection.PasteExcelTable _  ' здесь указываем, что Selection расположен в Ворде (приложении где лежит макрос)
    LinkedToExcel:=False, _
    WordFormatting:=False, _
    RTF:=False
    
    With xlapp
        .CutCopyMode = False
        .Quit
    End With
    
End Sub

так у меня все работает в файле *.dotm
...
Рейтинг: 0 / 0
Шаблон с макросом word не видет переменную
    #38661182
Cosmosila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Surrogate,
Все понял свою ошибку
q = xlApp.ActiveSheet.UsedRange.Rows.Count
Огромное спасибо вам!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Шаблон с макросом word не видет переменную
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]