从动态目录VB.Net打开Word文档

时间:2012-05-27 03:25:23

标签: vb.net ms-word

我有一个程序,我已经开发了一个用户指南。我已将此用户指南放在项目目录中。我创建了一个MenuStrip项目,用于在用户的计算机上打开Word中的用户指南。我已成功地使用以下代码执行此操作:

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")

谢谢!

1 个答案:

答案 0 :(得分:1)

如果文档将相对于应用程序可执行文件的安装路径存储,则从path of the 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");