Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010 / 5 сообщений из 5, страница 1 из 1
12.08.2021, 11:54
    #40090238
Сергей_59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
Добрый день.
Помогите разобраться. Макрос, который работает в 2003 не работает в 2010 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.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
 Dim tb1 As Table
 Dim i As Integer
 Dim str1 As String
 Dim a As String
 Dim m As String
 Dim str As String
 Dim pyt As String
 Dim pyt1 As String
 Dim mes As String
 Dim pt As Variant
 Dim pt1 As Variant
 
m = InputBox("Введите число, месяц и год в формате 01.07.2009", "ввод текущей даты")
f = Len(m)
If f < 6 Then
      MsgBox "Нулевые значения недопустимы", vbCritical, "Ошибка ввода"
   Exit Sub
End If
pt = DatePart("d", m, Now)
Debug.Print pt
pt1 = DatePart("M", m, Now)
 Selection.Font.Bold = wdToggle
     Selection.Font.Size = 16
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
     Selection.Font.Bold = wdToggle
Selection.TypeText Text:="Список заданий" & vbCr & "назначенных на" & vbCr & "на " & m
     Selection.TypeParagraph
    
If pt1 = 1 Then
        mes = "январь"
End If
If pt1 = 2 Then
        mes = "февраль"
End If
If pt1 = 3 Then
        mes = "март"
End If
If pt1 = 4 Then
        mes = "апрель"
End If
If pt1 = 5 Then
        mes = "май"
 End If
If pt1 = 6 Then
        mes = "июнь"
End If
If pt1 = 7 Then
        mes = "июль"
End If
If pt1 = 8 Then
         mes = "август"
End If
If pt1 = 9 Then
         mes = "сентябрь"
End If
If pt1 = 10 Then
          mes = "октябрь"
End If
If pt1 = 11 Then
          mes = "ноябрь"
End If
If pt1 = 12 Then
          mes = "декабрь"
End If

pyt = "\\ххх.ххх.х.х\задания\" & mes
Debug.Print pyt
pyt1 = pyt & "\*.*"
Debug.Print pyt1
'__________________________________________________________________________
  
    str = Dir(pyt1)
     Debug.Print str
On Error GoTo обработка
   ChangeFileOpenDirectory pyt
   Documents.Open FileName:=str, _
        ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
        WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
        wdOpenFormatAuto
  Set tb1 = ActiveDocument.Tables(1)
  'Selection.Tables(1).Select
  'Selection.Rows.AllowBreakAcrossPages = False
  'ActiveDocument.Save
  tb1.Cell(1, 2).Select
  Selection.MoveRight unit:=wdCharacter, Count:=1, Extend:=wdExtend
  Selection.Copy
      
     Windows("spisok.doc").Activate 'На этой строке макрос перестает работать и переходит в конец 
  Selection.PasteAndFormat (wdPasteDefault)
  Selection.MoveUp unit:=wdLine, Count:=1
  Selection.Tables(1).Select
           Selection.Rows.ConvertToText Separator:=wdSeparateByDefaultListSeparator, _
        NestedTables:=True
  Selection.MoveDown unit:=wdLine, Count:=1
         
     Windows(str).Activate






Конец макроса

обработка:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Select Case Err.Number
Case Is = 4198
Exit Sub
End Select
Select Case Err.Number
Case Is = 4605
MsgBox "Введены несуществующие значения. Начните сначала", vbCritical, "Ошибка ввода"
 ActiveDocument.Close
Exit Sub
End Select
  
End Sub



Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
12.08.2021, 11:59
    #40090242
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
Да запишите код перехода на другой документ макрорекордером и посмотрите, что нужно вместо Windows("spisok.doc").Activate ...
...
Рейтинг: 0 / 0
12.08.2021, 12:07
    #40090246
Сергей_59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
Akina,
А как это сделать?
...
Рейтинг: 0 / 0
13.08.2021, 13:25
    #40090551
Сергей_59
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
Akina, добрый день.
Если записать макрорекордером, то тоже пишет Windows("spisok.doc").Activate.

Тут дело наверное в другом.

Сохранил документ с макросом в формате DOCX и файлы, откуда берется информация тоже в DOCX. Заработало.
А как сделать так, чтобы теперь и в MS 2003 тоже работало?
...
Рейтинг: 0 / 0
13.08.2021, 18:19
    #40090628
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
Сергей_59,

может вы просто глушите ошибку, ведь обработчик проверяет только 2 ошибки , остальные пропускает, выходя без информации об ошибке
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010 / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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