0

ユーザーガイドを開発したプログラムがあります。このユーザー ガイドは、プロジェクト ディレクトリ内に配置しました。ユーザーのマシンの Word でユーザー ガイドを開くための MenuStrip アイテムを作成しました。次のコードでこれを正常に実行できました。

Try
        userGuide = MSWord.Documents.Open("C:Users\administrator\Documents\VisualStudio2010\Project3\UserGuide.doc")

        MSWord.WindowState = Word.WdWindowState.wdWindowStateNormal
        MSWord.Visible = True
    Catch ex As Exception
        MsgBox("An error has prevented the document from opening. The document may not be available." & vbCrLf & vbCrLf & _
               "Please try one of the following options:" & vbCrLf & _
               "- Check to see if the document is already open" & vbCrLf & _
               "- Restart the program")
    End Try

問題は、ファイルを開くために使用されるパスがユーザーのマシンに存在しないことです。これはスタンドアロン システムであるため、ドキュメントを配置するためのファイル共有を作成することはできません。したがって、共通パスをコーディングすることはできません。

動的パスをコーディングする方法はありますか? おそらく次のようなものです:

userGuide = MSWord.Documents.Open("%windir%\UserGuide.doc")

ありがとう!

4

1 に答える 1

1

ドキュメントがアプリケーション実行可能ファイルのインストール パスに相対的に保存される場合は、exe のパスから開始します。

Dim path As String
path = System.IO.Path.GetDirectoryName( _
      System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

Dim docPath as String;

docPath = Path.Combine(path,"UserGuide.doc");
于 2012-05-27T04:05:23.667 に答える