2016-05-31 3 views
1

Wordアプリケーションを開くときに、指定した場所に[編集]、[Saveas]が表示され、ユーザーが正しいファイル名を入力したかどうかを確認する必要があります。ここで は、私は今、いくつかの変更EXCEL VBAを使用して、指定した場所にWord、Edit、Saveasを開きます。

With Doc.ActiveDocument 
Set myRange = .Content 
With myRange.Find 
.Execute FindText:="FindText", ReplaceWith:="ReplaceText", Replace:=2 
End With 
End With 

をやっている文書を開いた後、私のコード

Dim Doc 
Dim DocPath 
Dim DocObj 
Dim VarResult 

DocPath = "C:\MyFolder\MyDocument.doc"  
Set DocObj = CreateObject("word.Application") 
Doc = DocObj.Documents.Open(DocPath) 
DocObj.Visible = True 

だ、私は名前を付けて保存ファイルに問題があります。私は両方の代替メソッド、 1:GetSaveAsFilename、2:SaveAsを使用しました。私はすべてのDefaultLocation、InitialFilename、DocumentType、Titleプロパティと共に表示されるsaveasダイアログボックスが必要です。ユーザーが[キャンセル]ボタンを指定していないかどうかに関わらず、ユーザーは選択して検証する必要があります。

varResult = Doc.GetSaveAsFilename(_ 
FileFilter:="DP Document (*.doc), *.doc, DP Document (*.docx), *.docx", Title:="Save DP", initialvalue:="InitialDocument") 
If varResult <> False Then 
MsgBox "File choosen = " & varResult 
Else 
MsgBox "Please select the file" 
End If 

実行時エラーです。前もって感謝します。

答えて

0

このMicrosoft Articleによれば、 "Word.ApplicationまたはWord.Basic型のオブジェクトでCreateObject関数を使用すると、Wordが既に実行されていると関数は失敗します。"このエラーは、実行時エラーによって示されます。マイクロソフトでは、Wordが既に実行されているかどうかを確認することをお勧めします。そうでない場合は、Wordの新しいインスタンスを開始します。たとえば、GetObject関数を使用してWord.Applicationオブジェクトを作成すると、GetObject関数が失敗した場合、Wordは実行されていないため、CreateObject関数を使用してWord.Applicationオブジェクトを設定できます。リンクされた記事で提供されるコードは、次のとおりです。

Sub RunWord() 

    Dim wObj As Word.Application 
    On Error Resume Next 

    ' Get existing instance of Word if it exists. 
    Set wObj = GetObject(, "Word.Application") 

    If Err <> 0 Then 
     ' If GetObject fails, then use CreateObject instead. 
     Set wObj = CreateObject("Word.Application") 
    End If 

    ' Add a new document. 
    wObj.Documents.Add 

    ' Exit Word. 
    wObj.Quit 

    ' Clear object memory. 
    Set wObj = Nothing 

End Sub 
関連する問題