マクロ上でのファイル操作No.09831
CHERRYVOICE さん 05/09/29 00:12
 
CHERRYVOICEです。

現在以下のようなエクスポートマクロを作ろうとしています。

(1) デスクトップに「エクスポート」フォルダがあるか調べる
(2) なかったら「エクスポート」フォルダ作成
(3) 「エクスポート」フォルダの中身のファイルを全て削除
(4) 選択したメールを「エクスポート」フォルダにエクスポート

runsync2でコマンドプロンプトを起動すれば出来るのですが、
ウィンドウがチカチカするので、出来れば使わずに実装したいと
思っています。このようなことは可能でしょうか。

(1)と(2)はBypass関数を使って実現できたのですが、(3)で悩んでいます。
アドバイスお願いします。

[ ]
RE:09831 マクロ上でのファイル操作No.09833
三月 さん 05/09/29 07:10
 
>(1) デスクトップに「エクスポート」フォルダがあるか調べる
>(2) なかったら「エクスポート」フォルダ作成
>(3) 「エクスポート」フォルダの中身のファイルを全て削除
>(4) 選択したメールを「エクスポート」フォルダにエクスポート
>
>runsync2でコマンドプロンプトを起動すれば出来るのですが、
>ウィンドウがチカチカするので、出来れば使わずに実装したいと
>思っています。このようなことは可能でしょうか。
>
以下のようなVBScriptを用意して、
runsync2( "wscript.exe エクスポート.vbs" );
とかで実行すれば、DOS窓は出ないと思いますがいかが?

--- エクスポート.vbs ----
Set fs = CreateObject("Scripting.FileSystemObject")
set sh = CreateObject("WScript.Shell")
folder = sh.SpecialFolders("Desktop")

ex = folder + "\エクスポート"
if fs.FolderExists(ex) then
 fs.DeleteFile(ex + "\*.*")
else
 fs.CreateFolder(ex)
end if
-------------------------

[ ]
RE:09831 マクロ上でのファイル操作No.09840
秀まるお さん 05/09/29 10:37
 
 デスクトップの実際のフォルダ名を調べるのは、秀丸マクロでも現状のtkinfo.
dll関数でも出来ないと思います。

 C++言語でやるとしたら、SHGetSpecialFolderPathとかの関数を使うことにな
りますけど。

 三月さんがVBScriptを作ってくださったので、そういう作戦でなんとかしてほ
しいです。

[ ]
RE:09833 マクロ上でのファイル操作No.09843
CHERRYVOICE さん 05/09/29 12:20
 
ありがとうございました。
教えていただいたVBScriptでやりたいことが実現できました。
感謝感謝です。

#VBScript、勉強しなきゃ……

[ ]
RE:09840 マクロ上でのファイル操作No.09844
CHERRYVOICE さん 05/09/29 12:22
 
三月さんのVBScriptでうまいこと出来ました。
ありがとうございました。

[ ]