アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ実行の際に、保存先をプログラムした場所とは別の場所にしたい場合、いちいち変更箇所(1つのプログラムで5か所くらいあります)を修正するのが面倒です。そこで、変更するアドレス(パス?)を変数に格納してそれを使い回したいのですがどうすればいいでしょうか?

例えば、
"C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"
というアドレスを m に格納して、

m = C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ
として、

ChDir ""& m &""
と使えたら理想なのですが、できますでしょうか?

また、変数を使えたとして、上記の書き方は正しいのでしょうか?
間違っていた場合、ChDirに変数を使用するときの書き方もご教授いただけたら助かります。
よろしくお願いします。

A 回答 (4件)

> m = "C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"


> としたら
> Chdir m "& \ついか &"
> でいいのでしょうか?
Chdir m & "\ついか" です。
mの末尾が何だろう?という場合に備え
Chdir m & ".\ついか" として置くのが無難です。

#回答本文中の&が全角に変換されてますが、VBでの記述は半角です。
#コピー&ペーストする際にはご注意ください。
    • good
    • 0
この回答へのお礼

くわしい解説ありがとうございました。
おかげでなんとかできました。
何度も回答いただき本当にありがとうございました。
また何かあれば質問させていただきますので
その時はまたよろしくお願いします。

お礼日時:2009/11/17 07:35

Chdirの意味を誤解してませんか?


http://officetanaka.net/excel/vba/statement/ChDi …
のようにChdirはいわば「動作」で在って、状態ではない。
だから
ChDir ""& m &""
は大丈夫なのかな。
状態はCurDirではないですか。
ーーー
mを文字列とデータ定義するなら、m=の段階で右辺は" "で囲うのでは。m = C:\Documents ・・はおかしいのでは。
それ(""で囲って代入したあと)を使うときは 
ChDir m
で良いように思うが。
その後、CurDirを文字列として扱えて、ファイル名と結合して(&で結合して)フルパスとして使うのでは。
http://officetanaka.net/excel/vba/function/CurDi … 参考
Path=CurDir & FileName
    • good
    • 0
この回答へのお礼

ご指摘の通りChdirの意味を理解していませんでした。
ただ今回はみなさんのおかげでなんとか上手くいきました。
アドバイスありがとうございました。

お礼日時:2009/11/17 07:34

「ChDir ""& m &""」これは何のこと?



m="Path" ダブルクォーテーションが必要。
ドライブをまたげないから、ChDriveが必要だったか。同じドライブならいいが。
だから、下記

m = "C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"
ChDrive "C:"
ChDir m

でしょう。

この回答への補足

回答ありがとうございます。
同じ質問で恐縮ですが、

"C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ\ついか"
というアドレスのがあった場合、
m = "C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"
としたら
Chdir m "& \ついか &"
でいいのでしょうか?

よろしくお願いします。

補足日時:2009/11/16 08:41
    • good
    • 0

> m = C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ


文字列はダブルクォートで囲まないとエラーになるでしょうね。
m = "C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"

> ChDir ""& m &""
文字列に " を含ませたいなら二重に書く必要がありますので
ChDir """" & m & """"
または
ChDir Chr(34) & m & Chr(34)
ですが、すでに文字列として定義されてますから
ChDir m で可能でしょう。

この回答への補足

回答ありがとうございます。
あともうひとつ疑問なのですが、
"C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ\ついか"
というアドレスの場合、
m = "C:\Documents and Settings\test\テスト\てすと\例\マクロ\まくろ"
としたら
Chdir m "& \ついか &"
でいいのでしょうか?

よろしくお願いします。

補足日時:2009/11/16 08:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A