У меня есть подпрограмма VBA, которая выполняет разное форматирование документов Word. Он использует объект Selection (Selection.WholeStory) для применения форматирования.Квалифицировать объект выбора в VBA Word
Эта подпрограмма вызывается из Outlook VBA с объектом Word.Application.
Возникает проблема: , когда другой экземпляр Word открыт при вызове макроса, объект выделения ссылается на уже открытый документ Word, а не на обработчик, созданный в моем макросе.
VBA, похоже, не соответствует критериям выбора, поэтому, когда вы пишете Selection.PageSetup (т.е.) и начинаете применять изменения, оно применяется к Документу, уже открытому в Word, а не к документу, который вы обрабатываете из VBA.
Я искал ответ на MSDN и здесь, но не повезло. Если кто-нибудь знает, как квалифицировать этот объект, дайте мне знать. Благодарю.
В основном,
create word handler
open attachment in word
Selection.WholeStory
With Selection.PageSetup
.LineNumbering.Active = False
.Orientation = wdOrientPortrait
/* etc */
End with
С «Выбор» не может быть квалифицировано, все эти изменения получают сделаны к тому, что уже открыто.
if numTextFiles >= 1 then
for each textFile in textFileNames
'Open text file in word
Set doc = WordApp.Documents.Open(outReportFullDir & "\" & textFile)
'Set the output name of word doc (change .txt to .docx)
reportWordName = left(textFile, len(textFile) - 4)
reportWordName = reportWordName & ".docx"
'Check if out word document already exists
preventOverwrite(outReportFullDir & "\" & reportWordName)
'Format Reports
formatReport()
'etc
_
Private Sub formatReport()
documents(docToFormat).select
Selection.WholeStory
'Added by Ryan to make single-spaced
WordBasic.OpenOrCloseParaBelow
WordBasic.OpenOrCloseParaBelow
Selection.Font.Name = "Courier New"
Selection.Font.Size = 8
With Selection.PageSetup
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End Sub
Является ли scriptiing автоматическим закрытием любых открытых экземпляров Word для вас? – hammus
Я спросил группу конечных пользователей и ожидаю ответа. Да, одна работа вокруг, которую я рассматривал, - это проверка того, открыты ли какие-либо документы Word, и если да, подскажите & завершите. Но если кто-нибудь узнает более элегантное решение, я был бы признателен :) – RMurphy