- ベストアンサー
Excel2010VBAでエラーが出る相対パス指定
kittensillabubの回答
- kittensillabub
- ベストアンサー率60% (6/10)
いっその事、絶対パス指定にしてしまうとか Private Declare Function LoadTT Lib ThisWorkbook.Path & "\○○.dll" _ () As Integer # ちゃんと Scripting.FileSystemObjectの BuildPath()使ったほうが良いですが w
関連するQ&A
- 相対パスの指定
FindFirstFile(), remove(), OPENFILENAME などのファイルやフォルダのパスを扱うものについて、例えば 実行ファイルと同じディレクトリに有るdat.datというファイルを「dat.dat」とだけ書いて相対指定したつもりが、実行ファイルと同じディレクトリにdat.datが無かった場合にWindowsフォルダなどの特殊なフォルダや、AUTOEXEC.BATに書いてあるフォルダを使ってdat.datが検索されて適用されたりすることはあるのでしょうか? いろいろな関数や構造体が有りますが、相対パスが指定されたとき、絶対パスを作るために使用されるフォルダパスが、GetCurrentDirectory()以外のものが使われることってあるんでしょうか?
- 締切済み
- C・C++・C#
- エクセルVBA実行時のエラー:DLLファイルが見つ
タイトル:エクセルVBA実行時のエラー:DLLファイルが見つかりません 質問させていただきます。どうぞよろしくお願いいたします。 環境:PC1~3の全てが、Excel2010、Win7になります。 初めてVBAから読み込むためのDLLファイルを作成いたしました。 PC1上で動作確認できている2つのファイル(Test4.dll(VC++2013にて作成)と それを呼び出すVBAのついたエクセルファイル)を、 PC2とPC3に移動し、VBAを実行しましたところ 何故かPC3でのみ下記エラーが発生いたします。 >実行時エラー'53' >ファイルが見つかりません。Test4.dll ・2つのファイルは同じフォルダ内で実行しております。 ・VBAのカレントパスは ChDrive Left(ThisWorkbook.Path, 1) ChDir ThisWorkbook.Path で変更しております。 試しにC:\Windows\System32と C:\Windows\SysWow64にも Test4.dllをコピペしてみましたが、同じエラーが出てまいります。 ・PC3のみ違うところを探してみましたが、思いつくのは下記くらいでございます。 1.VSが入っておりませんでした。(必要なのでしょうか??) 2.実行しているパスが違います。 PC1とPC2の実行パス: D:\Users\Administrator\Documents\VBA_TEST PC3の実行パス: D:\Documents\VBA_TEST もし何か原因として思いつかれる事がございましたらお教えいただけないでしょうか。 お詳しい方がいらっしゃいましたら何卒よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 相対パスが使えない
EXCELのファイルを呼び出したいのですが,絶対パスで e:\vb6.0\book1.xls と指定するとファイルが開くのですが, 相対パスで .\book1.xls と指定するとファイルが開けません。 なぜでしょうか? EXCELのファイルとvbのファイルは同じフォルダ内にあります.
- ベストアンサー
- Visual Basic
- 【Excel VBA】選択フォルダへの相対パス
色々なサイトを参考に、Excel VBAにて以下の様なロジックを作りました。 -------------- Dim SHELL, MYPATH Dim TARGETDIR As String Set SHELL = CreateObject("Shell.Application") Set MYPATH = SHELL.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, ThisWorkbook.Path) If MYPATH Is Nothing Then End TARGETDIR = MYPATH.items.Item.Path Set SHELL = Nothing Set MYPATH = Nothing -------------- ブックのあるパス配下のフォルダを選択して、フルパスを"TARGETDIR"に格納します。 質問は2つです。 (1)"~.items.Item.Path"の構文の意味を教えて下さい。 (2)フルパスではなく"ブックのあるパスから見た、選択したフォルダへの相対パス"を知る方法を教えて下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- #pragma commentの相対パス指定
#pragma commentの相対パス指定について、希望の動作をしないません。 状況は以下の通りです。 libというフォルダの中にlibA、libBの二つのフォルダがあり、それぞれのフォルダの中には、lib_a.lib、mylib_b.libというファイルがあるとします。 lib -libA -lib_a.lib -libB -lib_b.lib またライブラリディレクトリにはlibのパスのみが指定されていたとします。 この状況で#pragma comment(lib,"libA\\lib_a.lib")とすると、 「LINK : fatal error LNK1104: ファイル 'libA\lib_a.lib' を開くことができません。」 と出てしまいます。 #pragma commentの中では、相対パスは使えるはずなのですが、なぜこの場合はリンクが出来ないのでしょうか? ちなみに絶対パスで指定した場合はエラーは出ません。 できればフォルダで分割してライブラリを管理したいと考えているので、何か解決方法をご存知の方がいれば、ご教授ください。 環境は ・OS:Windows7 ・使用ソフト:Visual C++ 2010 Express ・言語:C++ です。
- 締切済み
- C・C++・C#
- 絶対パス・相対パス・ディレクトリ・について
HTMLでホームページを作ろうとしている初心者です、教えてください 自分のホームページのフォルダの中ににリンクするパスの指定方法を相対パスというのはわかりましたが、画像を表示するためのパスの指定方法も相対パスでいいのでしょうか、それともディレクトリというんでしょうか?
- ベストアンサー
- ホームページ作成ソフト
- VB6.0でエクセル保存する時の保存場所の指定。
VB6.0からデータをエクセルに保存させようとしています。 保存する方法は、エクセルを開くのではなく、 ボタンを押したらそのまま自動で保存させるようにしています。 そしてその名前をつけて保存をさせる処理で、ファイルの保存場所を示す パスの指定で少々困っております。 EXEファイルがある位置をカレントとして同一フォルダ内にあるtestフォルダに 全てデータは保存したいと考えています。 絶対パスを固定で指定すればそこに保存できますが、それだと違うPC上で実行すると 動作しない危険性がありますので、相対パスで指定したいと思っています。 ですが、実行ファイルから"./test/test.xls"と指定してもパスのエラーとなり 保存できません。 しかし絶対パスの固定でフォルダを指定すると保存できます。 ws.Name = "C:\vb_test\test\test.xls" これをEXEファイルのある位置からの相対パスで指定するにはどうすればいいでしょうか?
- ベストアンサー
- Visual Basic
- VBAで「ファイルを開く」ダイアログボックスにパスは指定できますか?
エクセルVBAでプログラミングをしています。 「ファイルを開く」ダイアログボックスを開くときに、パスを指定して開くことは可能でしょうか? ご存じの方、教えてください。 エクセルは、Excel2000、Excel98などを使用しています。
- 締切済み
- オフィス系ソフト
- VBAでユーザーにフォルダを指定させたい
Win2000でEXCEL97を使ってます。 ExcelVBAでダイアログボックスなどによりユーザーにフォルダを指定させたいのです。 ファイルを指定させるには、GetOpenFileNameメソッドを使えば出来ることは分かったのですが、フォルダを指定させるような方法が分からないのです。 本で読んだところでは、Excel2002ではFileDialogプロパティで可能なようなのですが、Excel97では出来ないようで… 97でも可能な方法があればご教授下さい。 よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
kittensillabub 様 ありがとうございます. う~ん,そうですね. 指定が長くはなりますが,ファイルのプロパティからパスをコピーすれば,誤記の心配も少なく楽に済むので,絶対パスでも良いのですが.....,癪に障ります. ==