[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『たくさんあるBook中に、マクロが含むものと無いものがあるのですが』(jxssatb)
マクロを含む物だけを、選別する方法はありますか?
又は、マクロを含む全てのBookから、マクロを消去する方法なんて有りますか?
http://support.microsoft.com/default.aspx?scid=kb;ja;224351 ↑ここで DsoFile.exe をダウンロードして、アイコンをダブル クリックして展開して下さい。
↓参照設定後、testを実行してください。 ダイアログで選択したフォルダ内のブックのマクロの有無 をセルに書き出します。 ※VBA作成したものは、モジュールを解放してあっても マクロ有とみなされ、"TRUE"になります。
参照設定:DS:OLE Document Properties 1.4 Object Library
Option Explicit
Sub test() Dim i As Long Dim c As Range Dim myfol As String Dim FileNames As String Dim FileName As String Dim PropReader As DSOleFile.PropertyReader Dim DocProp As DSOleFile.DocumentProperties Dim obj As Object Dim myobj As Object Set obj = CreateObject("Shell.Application") Set myobj = obj.BrowseForFolder(0, "選択して下さい。", 0) If myobj Is Nothing Then Exit Sub myfol = myobj.Self.Path Set PropReader = CreateObject("DSOleFile.PropertyReader") FileNames = Dir(myfol & "\" & "*.xls") Cells(1, 1).Value = "ファイル名" Cells(1, 2).Value = "マクロ含有" i = 1 Do While FileNames <> "" i = i + 1 FileName = myfol & "\" & FileNames Cells(i, 1).Value = FileName FileNames = Dir() Loop For Each c In Worksheets(1).Range("A2", Worksheets(1).Range("a65536").End(xlUp)) Set DocProp = PropReader.GetDocumentProperties(c.Value) c.Offset(, 1).Value = DocProp.HasMacros Next End Sub (MARBIN)
>マクロを含む全てのBookから、マクロを消去する方法なんて有りますか? これはマクロウィルスを増殖させる手順の逆の技術なので、 不特定多数の方の目に触れる場所で議論すべき内容ではありません。 (みやほりん)(-_∂)b
DLするのは、DsoFileSetup KB224351 x86.exeでいいですか?
>↓参照設定後、testを実行してください。
>ダイアログで選択したフォルダ内のブックのマクロの有無
>をセルに書き出します。
の所をすみません、もう少し詳しく教えてください。
それから、(みやほりん)さん。教えていただきまして有難う御座います。今後気を付けます。
>DLするのは、DsoFileSetup KB224351 x86.exeでいいですか? そうです。リンクをクリックすると、 Microsoft DownLoad Centerに飛びますので、 "DownLoad"ボタンをクリックしてください。 (MARBIN)
DS:OLE Document Properties 1.4 Object LibraryのPropertiesの部分が色が変わっています。
(jxssatb)
↓までコードに書き込んでいるのでは?
参照設定:DS:OLE Document Properties 1.4 Object Library
これは注意書きであってコードではありません。 DS:OLE Document Properties 1.4 Object Library を参照設定してください、ということです。 ※もしかしてマクロ初心者? VBAの有無を調べたい、とのことでしたので、 使い込んできると思って詳しくは書かなかったので すが。 (MARBIN)
削除して実行してみましたが ユーザー定義型が定義されていません と出てきました
PropReader As DSOleFile.PropertyReaderの部分が反転しました。
(jxssatb)
ファイルのダウンロードはお済ですか? 参照設定はしてますか? (MARBIN)
ファイルのどこに設定すれば良いのでしょうか?(;_;)
(jxssatb)
参照設定の方法です。
Alt + F11でVBE画面を出します。 ツール→参照設定 で DS:OLE Document Properties 1.4 Object Library の□にチェックを入れて「OK」です。 (MARBIN)
OLE Document Properties 1.4 Object Library
の欄が見当たりません
Option Explicit
この文はどうすれば良いのですか?
(jxssatb)
地道に、作業します。
(MARBIN)さん 有難う御座いました。(jxssatb)
失礼しました。 ↓のHPで紹介されているリンク先からダウンロードしてみてください。
http://dobon.net/products/filelist/index.html
>dsofile.dll はどこで手に入りますか? >次のページからダウンロードできるようです。
>http://download.microsoft.com/download/office97dev/Utility/2/WIN98/EN-US/Dsofile.exe
ダウンロード後、ファイルの展開を行ってください。 ファイルの展開は、 Dsofile.exeをWクリックするだけです。 ダイアログは英語ですが、分かると思います。 インストールしますか? と保存先を聞いてくるぐらいです。
これですと、参照設定に↓が出てくるはずです。 DS:OLE Document Properties 1.4 Object Library
昨日紹介したリンク先からダウンロードしたファイルでは、 DSO OLE Document Properties Reader 2.0 というのが参照設定に出てきますが、 こちらに参照設定してもコンパイルエラーになりました。 私の確認不足でした。失礼しました。 (MARBIN)
うまく表示されました。
これで、作業がとっても楽になります。
半ば諦めていたのですが、感謝!感謝!です。(jxssatb)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.