ファイルコピーの際に、コピー先のファイル名を
「変数.txt」の形で出力したいのですが、どう指定すれば
出来るのか分かりません。
仕方ないので今は変数名のDOSファイルで出力しています。
どなたか教えてください。お願いします。
ファイル名を変数に入れて、
.txtをつけて、コピーさせればいいと思いますけど…。
2重に拡張子をつけたくないなら、
事前に"."からあとを削除しておいて(InstrRevで.までを検索して、Mid関数をつかってその戻り値よりあとを切り取る)、
また.txtをつけてあげればいいですね。
えっとすみません。.txtのつけかたなんですが、
例えば(全然「例えば」じゃなくてすごい具体例ですけど・・)今こうなっているのですが、
bResult = COPYFILE("c:\config.sys", "d:\my documents\ " & Valuedate & ".txt", 0) ※Valuedateが変数です。
これだと、.txtがつかないんです(TT)。
ただの変数名のファイルが出来てしまうところをみると、.txtを認識してくれてないと思うのですが、これをどう変えれば、Valuedate(変数).txtファイルになるのでしょう?
Vb関数のFileCopyでは無いのですか?
ちなみに自分の所で簡単なロジックでお題
同様の処理はできましたが?
関数は諸事情によりAPI関数のCopyFileを使いました。
で、まことに申し訳ありません。出来てしまいました。
変数はレジストリから引っ張ってきていたのですが、どうもその際に
ごみが入ってしまっていたようです。
お騒がせして申し訳ありませんでしたm(__)m
んと、APIのCOPYFILEですよね?
使ったことがないのでよくわかりませんけど、
bResult = COPYFILE("c:\config.sys", "d:\my documents\ " & Valuedate & ".txt", 0)
Valuedateに、ファイル名につけてはいけない文字(:/;とか)を入れていると、
関数が失敗します。
(どんな文字がいけないかは、適当なファイルを右クリックして、名前の変更で、":"を入れてみてください。注意書きに出てます)
Valuedateという変数名からすると…。
日付じゃないですか?
それだったら、Format関数(使い方はヘルプ参照)か何かで、:とかを取り去るとかすると、
保存できると思いますけど…。
おせっかいかも…ですけど、
もし問題ないようなら、VB標準の関数を使ったほうがいいです。
そのほうがソースも散らからないし、
何よりエラーが起こると、すぐにわかります。
(戻り値がどうの以前に、VBでエラーが起こってとまるので)
「FileCopyがすごく遅い!」って言う話は聞かないし^^;
解決チェック入れ忘れました。
解決です。
ありがとうございました。
ツイート | ![]() |