• ベストアンサー

Access(VBA)で「App.path」

Access(VBA)で「App.path」を使用しようとしたところエラーになりました。 Call fnFileWrite2("d:\test110.txt", … 上の形だと上手くいくのですが、下の形だと上手くいきません Call fnFileWrite2(app.Path & "\test110.txt", … Access(VBA)で「App.path」の代わりになる命令はあるのでしょうか?

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

近いのは、 Currentdb.Nameですね。 これによりMDBのフルパス名が手に入りますので、そこからコードでフォルダ名の部分だけを切り出してやります。 Call fnFileWrite2(GetDir(CurrentDB.Name) & "test110.txt", … Public Function GetDir(strPathName As String) As String 'ファイル名も含めたパス名からディレクトリ部分抜き出す  Dim i As Long  Dim strS As String * 1  For i = Len(strPathName) To 1 Step -1   strS = Mid$(strPathName, i, 1)   If strS = "\" Or strS = ":" Then    GetDir = Left$(strPathName, i)    Exit For   End If  Next i End Function

absurd0rt
質問者

お礼

返事が遅れて済みません。回答ありがとうございます。 実は先輩のSEの方にも同じ方針でコードを教えていただきました。 SQLのconvert(SQLServer)とto_Date(Oracle)の様な形で 「App.path」にもそのままで使える似たような命令があればと 期待していたのですが、残念ながら無さそうですね。 「App.path」が使えるのは当たり前だと勝手に思いこんでいただけに 回答していただいて助かりました。

関連するQ&A

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

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

  • Access VBA での有効なパスチェック

    Access VBA での有効なパスチェック お世話になっております。 Access2002 VBAで、画面入力されたパスが有効なら、 そこにテーブルの内容をExcel出力する。といったことをしているのですが、 画面入力されたパスが、 たとえば「C:\\\\\\tmp\\\\\\\」などと入力された場合、 フォルダチェックに用いているDir関数ではOKなのですが、 Excel出力するDoCmd.TransferSpreadsheetでエラーとなってしまいます。 ここでのエラーが、実行時エラー:2220なので、例外処理で拾っているのですが、 フォルダチェックの段階で、はじくよい方法はあるでしょうか? 例文です> str_tmpPath = txt_Path.Value  'ここで「C:\\\\\\tmp\\\\\\\」と入力されたとする '有効なパスかチェックする If Dir(str_tmpPath, vbDirectory) = "" Then  '上記のパスで通ってしまう。戻り値は"."   MsgBox "入力しなおして"   End End If str_SavePath = str_tmpPath & "ファイル名" 'Excel出力 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, テーブル名, str_SavePath, True  'ここで実行時エラー:2220が発生 以上、よろしくお願いいたします。

  • エクセル VBA フルパスからファイル名

    エクセルのセルに以下の情報が入っています。 1 D:\borland\bc55\license.txt 2 D:\borland\bc55\readme.txt         ・         ・         ・ n C:\borland\bcc55\Include\methodcontext.h フルパスの中のファイル名のみ取得したいですが、 VBAの初心者でなかなかできないです。 ご教授お願いいたします。

  • ACCESS VBA txtファイル出力

    お世話になっております。 不慣れながら会社でACCESSVBAを使っております。 エクセルファイルをACCESSに取り込み、VBAを使ってtxtファイルとして出力したいです。 その際、現時点で出力まではできているのですが、先頭列の頭の0が落ちてしまいます。 頭の0を残すコードの書き方はどのようにすればよいのでしょうか。 また、そのような設定はありますか。 力不足で恐縮ですが、よろしくお願いします。 保存先はデスクトップ、テーブル名はテーブル名を代入した変数です。 DoCmd.TransferText acExportDelim, , テーブル名, "…(パス)…テスト.txt"

  • C言語でフルパスのファイル読み込み方法について

    VBAからC言語の勉強を始めたのですが、 c:\test\myfile.txt というファイルを読み込むとき FILE *fp; fp = fopen("c:\\test\\myfile.txt", "r"); というようにアドレスバーからパスをコピーして貼り付けた後、\を\\に置換しなければなりません。 そのままパス情報を使えていたVBAのプログラムよりかなりわずらわしく感じるのですが、C言語ではファイルの読み込みでフルパスを指定して読み込むのは一般的ではないのでしょうか。 それともほかにやり方(\のままパスを設定する方法)があるのでしょうか。 なんだか使い勝手が違ってちょっと戸惑っているのですが、よろしくお願いします。

  • スペースを含んだパスにブラウザでアクセス出来ない

    CentOS7でApache HTTP server2.4を使用しているのですが、httpd.confで指定してあるDocumentRootディレクトリ下にスペースを含んだパスは、ブラウザに表示もされないし、アドレスを入力しても 500 Internal Server Errorとなります。スペースを含んだパスにアクセスできるようにする方法はないでしょうか?

  • アクセスからアクセスファイルを開くには?

    アクセスからアクセスファイルを開きたいのですがうまく出来ないので教えてください。 Option Compare Database Option Explicit Sub test() Dim App As Access.Application Dim MyFileName As String Set App = CreateObject("Access.Application") MyFileName = CurrentProject.Path & "\アクセスファイル名.mdb" With App .Visible = True End With Set App = Nothing End Sub で、 .Visible = True でアプリケーションは開きますが Set App = Nothing を通過すると開いたアプリケーションが閉じてしまいます。 それにアプリケーションが開くだけで肝心のファイルが開かれません。 なので「.ファイルを開くVBAコード」が必要だと思うのですがそのコードがわかりません。

  • VBAにて変数をコントロール名として使用する方法

    Access2002、VBAにて Me.txtテキストなどのようにコントロール名を指定しますが この「txtテキスト」の部分を変数を使って コントロールの指定を行うにはどのように記述すればよいでしょうか。 Dim test as variant test = "txtテキスト" Me.test のように・・・(上は適当です、すみません)

  • AppActivate Appではなぜだめなのでし

    エクセルファイルをvbaで開いて全画面表示したいのですが Sub Sample1() Dim App As Excel.Application Dim xlBook As Workbook Dim MyFileName As String MyFileName = "D:\test.xls" Set App = CreateObject("Excel.Application") Set xlBook = App.Workbooks.Open(MyFileName, ReadOnly:=True) App.Visible = True AppActivate App 'エラー発生 End Sub このコードだと AppActivate Appでエラーが発生します。 たまにシステムの裏側で開いてしまうので 常に前面に持ってこれるようにしたいのですが AppActivate Appではなぜだめなのでしょうか?

  • App path not foundが出ます。

    Window7 home premium SP1を使用していますが、ここ最近気が付くと、PC稼働中に「App path not found. Error Details: Error:オブジェクト参照がオブジェクトインスタンスに設定されていません。」とポップアップがでます。OKボタンしかないので、OKを押すと普通に消え、PC操作上何も問題ないのですが、30分に一回くらい出てくるので邪魔になっています。 何か解決策はないでしょうか?

専門家に質問してみよう