powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
5 сообщений из 5, страница 1 из 1
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
    #40090238
Сергей_59
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Помогите разобраться. Макрос, который работает в 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
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
    #40090242
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да запишите код перехода на другой документ макрорекордером и посмотрите, что нужно вместо Windows("spisok.doc").Activate ...
...
Рейтинг: 0 / 0
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
    #40090246
Сергей_59
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
А как это сделать?
...
Рейтинг: 0 / 0
Макрос, работающий в MS WORD 2003 не работает в MS WORD 2010
    #40090551
Сергей_59
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, добрый день.
Если записать макрорекордером, то тоже пишет Windows("spisok.doc").Activate.

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

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

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


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