Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов / 5 сообщений из 5, страница 1 из 1
13.06.2015, 14:11
    #38983239
Alla Potehina
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов
макрос:

Код: 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.
Sub BreakOnPage()
' Used to set criteria for moving through the document by page.
Application.Browser.Target = wdBrowsePage

For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")

'Select and copy the text to the clipboard
ActiveDocument.Bookmarks("\page").Range.Copy

' Open new document to paste the content of the clipboard into.
Documents.Add
Selection.Paste
' Removes the break that is copied at the end of the page, if any.
Selection.TypeBackspace
ChangeFileOpenDirectory "C:\Users\Алла\Desktop\Исторические портреты"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
ActiveDocument.Close

' Move the selection to the next page in the document
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub



что нужно написать в этой вот части
ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc"
чтобы в названии документа были первые два слова этого документа, а не "test_" & DocNum
...
Рейтинг: 0 / 0
15.06.2015, 02:15
    #38983630
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов
Слово - понятие растяжимое :) Будем считать, что это последовательность букв и цифр.
Код: 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.
Sub BreakOnPage()
Dim i As Long, docNum As Long, re As Object, mt, fn As String
Set re = CreateObject("vbscript.regexp")
re.ignorecase = True
re.Global = True
re.Pattern = "[0-9A-ZА-ЯЁ]+"

Selection.HomeKey wdStory
' Used to set criteria for moving through the document by page.
Application.Browser.Target = wdBrowsePage
ChangeFileOpenDirectory "C:\temp"

For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages")
  
  'Select and copy the text to the clipboard
  ActiveDocument.Bookmarks("\page").Range.Copy
  
  ' Open new document to paste the content of the clipboard into.
  Documents.Add
  Selection.Paste
  ' Removes the break that is copied at the end of the page, if any.
  Selection.TypeBackspace
  
  Set mt = re.Execute(ActiveDocument.Range.Text)
  Select Case mt.Count
  Case Is > 1:  fn = mt(0) & "_" & mt(1)  'есть 2 слова
  Case 1:       fn = mt(0)                'есть только 1 слово
  Case Else                               'нет слов, используем номер
    docNum = docNum + 1
    fn = Format$(docNum, "000")
  End Select
  ActiveDocument.SaveAs FileName:=fn & ".doc"
  ActiveDocument.Close
  
  ' Move the selection to the next page in the document
  Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
...
Рейтинг: 0 / 0
15.06.2015, 08:35
    #38983677
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов
Казанский, ну ты и навернул

Код: vbnet
1.
2.
ThisDocument.Range.Words(1)
ThisDocument.Range.Words(2)
...
Рейтинг: 0 / 0
15.06.2015, 09:41
    #38983717
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов
Shocker.Pro,
вставь в новый документ Re: Как подкорректировать макрос и попробуй.
А еще бывает картинка на всю страницу.
...
Рейтинг: 0 / 0
15.06.2015, 09:57
    #38983739
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов
согласен ))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как подкорректировать макрос так, чтобы названием документа на выходе были первые два слов / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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