• ベストアンサー

テキストファイルからApp.Pathを読み込む

いつもお世話になっております。 iniファイルに記載されているApp.Pathの文字列を普通に読み込むと"App.Path"という文字列として認識され、実行ファイルのパスが取得できません。iniファイルから読み込んだApp.Pathの文字列を、通常VB上で行ったときと同じように実行ファイルのパスと認識させる何かよい手はないでしょうか コピーするファイルが、実行ファイルのパスだったりSystem32内だったりほかのフォルダだったりする可能性があるので、ソースに直書きできないので困っております。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

iniファイルには「App.Path」と書いてあるのですよね? そうしたらプログラム中には「App.Path」という文字列が読み取られるのが正しいです。 >GetPrivateProfileStringを使っており、調べてみましたが、INIに直接App.Pathと表記するのではなく、たとえばMyPathなどと表記し、ソース側で If文か何かで振り分けてやらないといけないのでしょうか? その通りです。

medysiel
質問者

お礼

やはりそうですかT^T 何でもかんでも楽しようと思っちゃ行けませんね^^;

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

VBのバージョンが不明ですが。 > 記載されているApp.Pathの文字列を普通に読み込むと どうやって読み込みなさってますか? GetPrivateProfileString をキーワードに検索してみてください。

medysiel
質問者

お礼

お早い回答ありがとうございますm(__)m VBは6です。バージョンの表記忘れとは大変失礼しました。 GetPrivateProfileStringを使っており、調べてみましたが、INIに直接App.Pathと表記するのではなく、たとえばMyPathなどと表記し、ソース側で If文か何かで振り分けてやらないといけないのでしょうか?

関連するQ&A

  • iniファイル操作

    VB6.0について質問です。 iniファイルの操作で手詰まりましたのでお知恵をおかしください! VBからiniファイルのパスを読み取りそこへデータを保存するという一連です。 実現したいことはiniファイルで指定したドライブに パス名のフォルダが存在しない場合はその指定されたフォルダを作成したい。 ということです。 少々ややこしいですがお願いします>< 現在、以下のソースで実行処理を行っていますがうまくいきません。 iniファイルに指定されたドライブにパス名のフォルダがあるか 判断するにはどうしたらいいでしょうか? wordini = INIfile_read("host", "path") If Dir(wordini)="" Then MkDir wordini End If File1.Path = wordini iniファイルのパスは D:\abc

  • ファイルのパスを動的に取得

    現在Visual Studio 6.0 Professional Editionを使って開発をしています。 その中でiniファイルを使う部分があるのですが、 現在はiniファイルまでのフルパスを直書きしています。 しかし、そのパスを動的に取得したいのです。 イメージ↓ フォルダA | Liniファイル ←☆の位置からこのパスを取得したい | フォルダB   LEXE☆ ←ここから まだまだ技術的な力が足りず、どうしたらいいのかさっぱりわかりません。 そこで皆さんの知恵を借りたいのです。 よろしくお願いします。 サンプルでもサイトでもなんでも構いません。

  • VBAで、VBのapp.pathと同じ機能は?

    ExcelVBAで、そのExcelファイルが起動されたフォルダーパスを取得する方法はあるのでしょうか? application.pathでは、excel.exeのあるフォルダーパスが返されます。 VB(ver6)のapp.pathのように、そのファイルが起動された(保存されている)パスを知りたいのですが、何か方法はないでしょうか? よろしくお願いします。

  • INIファイルの読込みについて

    VB2005を使用しています。 INIファイルを読み込む関数で、GetPrivateProfileStringとGetPrivateProfileIntがありますが、この二つは文字列用、数値用と、なんとなく曖昧に憶えておりました。VBでINIファイルを読み込んだ場合、どちらも文字列、数値として取得できてしまうのですが、1つのプロジェクトでこれらを使い分ける意味はあるのでしょうか? できれば一つの関数で読込みを統一したいと思うので。。。 使い分ける意味があるとしたら、その理由についてもできれば教えてください。宜しくお願いいたします。

  • 【VBAでapp.path が取得できない】

    VBAでapp.path を取得しようとすると、「オブジェクトが必要です」エラーが表示されます。 アプリケーション実行パスを取得する方法はありますか? Excel2000を使用しています。 宜しくお願いいたします。

  • INIファイルとAPP.CONFIGについて

    INIファイルとAPP.CONFIGとでは、どちらの読み込みが早いでしょうか? ちなみにINIファイルは、APIでの読み込み処理で、取得については、パラメータをひとつ取得する場合を想定します。 ご回答、よろしくお願いします。

  • パスを使ってファイルを開く

    ファイルダイアログでパス取得を行った後に、 そのパスを使ってファイルをコピーということは出来るでしょうか? 行ってほしい動作としましては、 ・ファイルダイアログでパス取得 ・そのパスを使ってファイルをコピー としたいのです。 ちなみに、コピーするためのコードは Call Shell(Environ$("COMSPEC") & " /C COPY ""C:\AAA.xls"" Z:AAA.xls") といった、絶対パスによるコピーになっています。 何故、パス取得が必要かといいますと元ファイルの場所が変わることがあるからです。 どうしても分からないので方法あるようでしたら教えてください。

  • VB.NETでのiniファイル読込について。

    .netでのiniファイル読込がうまくいきません。 何が悪いのかさっぱりわかりません。 ご指摘お願いいたします。 環境 os :xp 開発ソフト VB.NET ver 1.1.4322 SP1 ソース Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long, _ ByVal lpFileName As String) As Long '実行ファイルパスの取得 *VB6のapp.path Shared Function GetAppPath() As String Return System.IO.Path.GetDirectoryName( _ System.Reflection.Assembly.GetExecutingAssembly().Location) End Function Function INI_DBPATH_READ(ByVal FilePath As String) As String Dim lngRet As Long   '読み込みバッファ(固定長) Dim strGetBuff As String = 256   'iniファイルより読み込む文字列のサイズ Dim intGetSize As Integer   'セクション名 Dim strSection As String   'キー名 Dim strKey As String   '読み込みエラー時の出力文字列 Dim strErr As String   'iniファイル名(フルパス) Dim striniFn As String strGetBuff = Space(256) strSection = "TIFF_FOLDER" strKey = "PATH" strErr = "失敗" striniFn = Replace(GetAppPath(), "\bin", "\Ini") & "\test.ini" intGetSize = 256 'strGetBuffに文字列を取得する lngRet = GetPrivateProfileString(strSection, strKey, strErr, _ strGetBuff, intGetSize, striniFn) '末尾のNull除去 MsgBox(Microsoft.VisualBasic.Left(strGetBuff, InStr(strGetBuff, Chr(0)) - 1)) End Function iniファイルの内容 [TIFF_FOLDER] PATH=成功

  • フルパスの取得

    あるフォルダの中にあるすべてのファイル(サブフォルダ内のファイルを含めて)のフルパスを取得するにはどうしたらよいのでしょうか?これはFSOで実現できるのでしょうか?それともFSOなど使わなくてもできるのでしょうか? よろしくお願いします。 (使っているのはVB6.0です)

  • エクセル表のパスからのコピー処理について

    お世話になります。 エクセルVBAで質問です。 下記のような表をエクセルで作り、A列の名称が元フォルダのパス、 そのフォルダの中にエクセルとパワポやワードのファイル名が入っているとします。 その中の全てのファイルをコピーで同じ行のB列のフルパスのフォルダ内にコピーしたいのですが、マクロなどでの作成方法を教えてくだい。 A列 B列 C:\a1 Z:\test1 C:\a2 Z:\test2 C:\a3 Z:\test3 ・ ・ ・ バッチファイルであれば簡単なことですが、エクセルの表で管理したい次第です。 コピー先フォルダ内に同じファイルがあれば上書きしても構いません。(何回実行して同じファイルが上書きされてもOK) 出来ればxcopyで実行したいのですが、VBやVBAで使えるコマンドなのか、また繰り返し処理や応用に慣れてないため、詳しい方ご教授いただけると幸いです。 例えばC列以降に元のコピー対象ファイルを全て書き出してから、それらの一つ一つのファイルを読み込んでB列のフォルダ内にコピーするような動きでも問題ありません。 リスト作成する行の数は毎回決まっていなく、最大で50くらいあります。 ぜひ、ご教授お願いします。

専門家に質問してみよう