代码之家  ›  专栏  ›  技术社区  ›  MarkA

在excel中使用VBA打开Word文档-Word保持最小化

  •  0
  • MarkA  · 技术社区  · 1 年前

    我正在excel中编写一个VBA例程,创建一个rtf文件,然后在Word中打开它。文件打开得非常愉快(无论是从资源管理器还是从Excel中)。但从Excel内部来看,它仍然被最小化。任务栏中的Word图标表示有一个打开的文件。如果我单击任务栏中的Word图标,它会很好地显示出来。但我不想点击图标,我只想让它出现在Excel窗口的前面。

    代码从工作表上的ACtiveX按钮调用。

    Windows 11和Office 365。

    我确信这是我错过的一件容易的事情(可能是大脑),但希望有人能帮助我!

    打开它的代码如下(归功于Excel先生!):

    Public Sub OpenWordFile(FName As String)
    
    Dim WordApp As Object
    Dim strFile As String
    
    'If Word is already opened
    On Error Resume Next
    Set WordApp = GetObject("Word.Application")
    If WordApp Is Nothing Then
        'Word wasn´t running, so open Application
        Set WordApp = CreateObject("Word.Application")
    End If
    On Error GoTo 0
    
    'Check for the existence of the file
    If Len(Dir(FName)) > 0 Then
        WordApp.Documents.Open FName
        WordApp.Visible = True
    Else
        MsgBox "Couldn´t open '" & FName & "'!", vbInformation, "Error loading Document"
    End If
    
    End Sub
    
    1 回复  |  直到 1 年前
        1
  •  0
  •   Haluk    1 年前

    使用AppActivate方法将Word文档放在Excel应用程序前面。

    .....
    ....
    ..
        WordApp.Documents.Open FName
        WordApp.Visible = True
        AppActivate Dir(FName)
    ....
    ...
    
    
    推荐文章