如何在VB.NET中创建动态Excel链接? (不是.dll)

时间:2012-07-10 13:04:11

标签: vb.net excel user-interface

VB.NET级别:初学者

我使用VB.NET制作了一个.exe文件。在这个程序中有许多excel文件的链接(excel文件有特定的文件夹)。

我的问题:

考虑一个名为abc.xlsx的excel文件,它位于我的家用电脑上。链接到此文件如下, d:\工作\数据\ abc.xlsx

现在由于显而易见的原因,当我在工作电脑上运行.exe时,此链接无效。 (后来我想在多台电脑上运行这个.exe)

如何解决这个问题?

我的想法是创建一个动态链接,它将根据正在使用的pc更新自身,或者创建一个独立于正在使用的pc的常量链接。

非常感谢帮助。

提前致谢

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

   Public Function GetDynamicFilename(p_filename As String) As String

      Dim tempPath As String

      Select Case My.Computer.Name.ToUpper
         Case "COMPUTER1"
            tempPath = "c:\work\data"
         Case "COMPUTER2"
            tempPath = "d:\work\files"
      End Select

      Return String.Format("{0}\{1}", tempPath, p_filename)

   End Function

答案 1 :(得分:1)

所以制作相对于.exe

的路径

C:\ MyApp的\ MyApp.exe的 C:\ MyApp的\数据\ abc.xslx ...

因此,无论您的应用位置如何,您都可以获得此类数据

Dim dataFolder As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly(‌​).Location)
dataFolder = System.IO.Path.Combine(dataFolder,"data")
Dim theFileIwant as String = System.IO.Path.Combine(datafolder,"abc.xslx")