2013-04-03 32 views
1

我創建了這段vb代碼,它提示在word中打開特定文件,修改它並將其保存到特定位置。我希望能夠在完成這兩個窗口時關閉這兩個窗口,即單詞宏文件窗口和保存的文檔窗口。使用Word vba腳本關閉特定窗口

Private Sub Document_Open() 

adresse_debut = ActiveDocument.Path 

    With Application.FileDialog(msoFileDialogOpen) 
     .AllowMultiSelect = False 

     .InitialView = msoFileDialogViewDetails 
     .Title = "Select Text File" 
     .InitialFileName = adresse_debut 
     .Show 


     If .SelectedItems.Count = 1 Then 
      bingo = .SelectedItems(1) 
     Else 
      MsgBox ("Error") 
     Exit Sub 
     End If 
    End With 

Documents.Open FileName:=bingo 

adresse = ActiveDocument.Path & "\" 
Nom = ActiveDocument.Name 
Nom = Left(Nom, Len(Nom) - 4) & "_Ready.txt" 

Selection.TypeParagraph 
Selection.TypeText Text:="hello" 

ActiveDocument.SaveAs FileName:=adresse & Nom, FileFormat:=wdFormatText 

ActiveWindow.Close 
End Sub 

回答

2

而是與ActiveWindow/ActiveDocument工作,建立相關的對象,並與他們合作。看到這個例子。

Private Sub Document_Open() 
    Dim Doc1 As Document, Doc2 As Document 

    Set Doc1 = ActiveDocument 

    adresse_debut = Doc1.Path 

    With Application.FileDialog(msoFileDialogOpen) 
     .AllowMultiSelect = False 

     .InitialView = msoFileDialogViewDetails 
     .Title = "Select Text File" 
     .InitialFileName = adresse_debut 
     .Show 

     If .SelectedItems.Count = 1 Then 
      bingo = .SelectedItems(1) 
     Else 
      MsgBox ("Error") 
      Exit Sub 
     End If 
    End With 

    Set Doc2 = Documents.Open(FileName:=bingo) 

    adresse = Doc2.Path & "\" 
    Nom = Doc2.Name 
    Nom = Left(Nom, Len(Nom) - 4) & "_Ready.txt" 

    Selection.TypeParagraph 
    Selection.TypeText Text:="hello" 

    Doc2.SaveAs FileName:=adresse & Nom, FileFormat:=wdFormatText 

    Doc2.Close SaveChanges:=False 
    Doc1.Close SaveChanges:=False 
End Sub