Я пытаюсь открыть Microsoft Word 2013 скриптом лотоса на моем экране из системы. Он отлично работает для более низкой версии (2010 и ниже), но выдает ошибку только для Microsoft 2013 ... Значение Findwindow ("OppusApp", Title1) равно 0, следовательно, выдает обработанную ошибку, она должна быть 1 .. (Title1 - это идентификатор, относящийся к в Microsoft Word, а OppusApp - это имя класса окна). Предложите обходной путь?
Код:
Function WaitForWordtoFinish(PathName As String,DocName As String, ReadOnlyFlag As Integer) As Integer
Dim hwnd As Long
Dim hwnd1 As Long
Dim hwndstate As Long
Dim hwndact As Long
Dim wordobj As Variant
Dim AppTitle As String
Dim AppTitle1 As String
Dim hwndactivate As Long
Dim hwnWord As Long
Dim cnt As Long
Dim ReadTitle As String * 256
If ReadOnlyFlag = 1 Then
AppTitle = "Microsoft Word - " & DocName & " (Read-Only)"
Else
AppTitle = "Microsoft Word - " & DocName
End If
AppTitle1 = "Microsoft Word"
hwndact = GetActiveWindow()
Set wordobj = CreateObject("Word.Basic")
''=====wordobj.AddAddIn templatedir & "acts.dot",1
**hwnWord = FindWindow("OpusApp", AppTitle1)
If hwnWord = 0 Then**
WaitForWordtoFinish = False
Messagebox "Please close all Word Documents prior to opening a Word Document through ACTS.", 0+16 , "Warning - Opened Word Document(s)"
Exit Function
End If
wordobj.Appmaximize "Microsoft Word",1
hwndstate = ShowWindow(hwndact,0)
If ReadOnlyFlag = 1 Then
wordobj.FileOpen PathName & DocName, 0, 1
Else
wordobj.FileOpen PathName & DocName
End If
'=====wordobj.ToolsRevisions 1, 1, 1
wordobj.AddAddIn templatedir & "acts.dot",1
wordobj.ToolsMacro "InterfaceMacro", True