1

Тема: Почему то не работают вот эти макросы в Word 2007

Здравствуйте.
Не ругайте, если что, я здесь новичок.
Отыскал необходимые мне макросы:
[spoiler]Sub tableAutoFit()
' Выравнивает все таблицы в документе по ширине окна
  Dim myTable As Table
  For Each myTable In ActiveDocument.Tables
    myTable.AutoFitBehavior wdAutoFitWindow
  Next myTable
End Sub

и

Sub Comments2Footnotes()
'преобразование примечаний в сноски
'помощь Steven M.
  Dim actDoc As Document
  Dim oRange As Range
  Dim comm As String
  Dim fn As Footnote
  Dim i As Long
  Set actDoc = ActiveDocument
  For i = actDoc.Comments.Count To 1 Step -1
    comm = actDoc.Comments(i).Range.Text
    Set oRange = actDoc.Comments(i).Scope
        oRange.Select
      With Selection
         If Right(.Range, 1) = Chr(32) Then
            .MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdExtend  'óäàëÿåì ïðîáåëû â êîíöå äèïàïçîíà ïðèìå÷àíèÿ, åñëè îíè åñòü
            Set oRange = .Range
         End If
      End With
   oRange.Collapse wdCollapseEnd
   actDoc.Comments(i).Delete
   Set fn = actDoc.Footnotes.Add(oRange)
   fn.Range.Text = comm
Next i
Selection.Collapse wdCollapseStart
End Sub[/spoiler]

а они почему то не работают у меня ворд 2007

Отредактировано Kristo4 (28.01.2010 09:32:35)

2

Re: Почему то не работают вот эти макросы в Word 2007

Что вы понимаете под словом "не работают"? Ошибку выдают или что иное?

3

Re: Почему то не работают вот эти макросы в Word 2007

извиняюсь, макрос про таблицы работает, а вот про преобразование примечаний в сноски, - текст, наверное не такой должен быть чтобы выполнить этот скрипт:

[spoiler]Sub Comments2Footnotes()
'преобразование примечаний в сноски
'помощь Steven M
  Dim actDoc As Document
  Dim oRange As Range
  Dim comm As String
  Dim fn As Footnote
  Dim i As Long
  Set actDoc = ActiveDocument
  For i = actDoc.Comments.Count To 1 Step -1
    comm = actDoc.Comments(i).Range.Text
    Set oRange = actDoc.Comments(i).Scope
        oRange.Select
      With Selection
         If Right(.Range, 1) = Chr(32) Then
            .MoveLeft unit:=wdCharacter, Count:=1, Extend:=wdExtend  'o'a"a`e"y"a*i` i"?i^a'a*e"u^ a^ e^i^i'o"a* a"e`i"a`i"c,i^i'a` i"?e`i`a*?a`i'e`y", a*n~e"e` i^i'e` a*n~o`u"
            Set oRange = .Range
         End If
      End With
   oRange.Collapse wdCollapseEnd
   actDoc.Comments(i).Delete
   Set fn = actDoc.Footnotes.Add(oRange)
   fn.Range.Text = comm[/spoiler]
на прилагаемом образце текста этот макрос не работает

Отредактировано Kristo4 (28.01.2010 13:53:49)

Post's attachments

Образец текста.docx 13.79 Кб, 2 скачиваний с 2010-01-28 

You don't have the permssions to download the attachments of this post.

4

Re: Почему то не работают вот эти макросы в Word 2007

В вашем документе я не увидел ни одного примечания. Что вы в данном случае понимаете под примечаниями?

5

Re: Почему то не работают вот эти макросы в Word 2007

admin пишет:

В вашем документе я не увидел ни одного примечания. Что вы в данном случае понимаете под примечаниями?

Да, я догадался что то что в тексте обозначено надстрочными символами и текст после слова Примечание под номерами 1, 2, 3,.. не является Примечанием как таковым.
Мне надо чтобы из такого текста Примечаний сделать обычные сноски, может есть такой макрос?

Отредактировано Kristo4 (29.01.2010 05:48:37)

6

Re: Почему то не работают вот эти макросы в Word 2007

Да, есть. Вот заметка: Преобразование надстрочных символов в сноски.

7

Re: Почему то не работают вот эти макросы в Word 2007

admin пишет:

Да, есть. Вот заметка: Преобразование надстрочных символов в сноски.

Ну так он-то у меня и не работает.

8

Re: Почему то не работают вот эти макросы в Word 2007

Почему не работает? Все отлично работает, а вот текст в сноски вам придется самостоятельно вводить - макрос же не может сам определить, что вот те фрагменты, которые в документе обозначены как "Примечание" и идут ниже этого слова, должны быть занесены в текст сносок.