4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #6350

    nukesaku
    メンバー

    サブフォルダー以下すべてのファイルにマクロを実行したいのですが、どのような方法がありますか?
    イメージ的には「ファイルからの置換」で検索・置換後の文字列の代わりにマクロを指定するような感じです。

    #6352

    takuya
    参加者

    takuyaです。

    もちろん可能です。FileSystemObjectを使ってみてください。
    ただし、マクロの記録で記録したマクロでは不十分ですので、自分でマクロを記述する必要がありますね。

    PHP・Python・Perl・RubyなどActiveSctiptやJScript・VBScriptなどのWSHが使えます。

    マクロでやりたい事というのはどのようなことなのでしょうか。具体的に記載していただけますか

    #6353

    nukesaku
    メンバー

    takuyaさんありがとうございます。
    早速以下を試してみましたところ、ファイルのオープンはできているようです。(なぜか最後のファイルだけが開かれるが……)

    var fso = new ActiveXObject(“Scripting.FileSystemObject”);
    var folder = fso.GetFolder(“C:tempXML”);
    var files = new Enumerator(folder.Files);
    while (!files.atEnd()) {
    editor.OpenFile(files.item());
    files.moveNext();
    }

    他力本願ですが、
    1.開いたファイルに任意のマクロを指定する
    2.ターゲットのファイルパスをGetFolderに渡すインターフェイス
    をどうすれば良いものかと。。。

    ReplaceInFilesなんていうのもあるのですね。

    #6354

    nukesaku
    メンバー

    とりあえず思っていた結果が得られましたが、
    もう少しスマートにできないものでしょうか。。。

    var fso = new ActiveXObject(“Scripting.FileSystemObject”);
    var folder = fso.GetFolder(“C:tempXML”);
    var files = new Enumerator(folder.Files);
    while (!files.atEnd()) {
    editor.OpenFile(files.item(),0,eeOpenAllowNewWindow|eeOpenDetectAll);
    rp();
    document.Save(files.item());
    document.close();
    files.moveNext();
    }

    rp()
    {
    //マクロの内容

    }

4件の投稿を表示中 - 1 - 4件目 (全4件中)

このトピックに返信するにはログインが必要です。

友達に知らせる... Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone