2

VB.NET レベル: 初級者

VB.NET を使用して .exe を作成しました。このプログラムには、Excel ファイルへのリンクが多数あります (Excel ファイル用の特定のフォルダがあります)。

私の問題:

私の自宅の PC にある abc.xlsx という名前の Excel ファイルについて考えてみましょう。このファイルへのリンクは次のとおりです。 D:\work\data\abc.xlsx

明らかな理由により、このリンクは、仕事用 PC で .exe を実行すると無効になります。(後で、この.exeを複数のPCで実行したい)

この問題を解決するには?

私の考えは、使用中の PC に基づいて自分自身を更新する動的リンクを作成するか、使用中の PC に依存しない一定のリンクを作成することです。

助けていただければ幸いです。

前もって感謝します

4

2 に答える 2

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
于 2012-07-10T13:14:43.547 に答える
1

そのため、.exe に対する相対パスを作成します。

C:\myapp\myapp.exe c:\myapp\data\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")
于 2012-07-10T13:47:31.913 に答える