[[20060907100621]] 『たくさんあるBook中に、マクロが含むものと無いも』(jxssatb) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『たくさんある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

(MARBIN)さん

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)

(MARBIN)さん。有難う御座います。

うまく表示されました。

これで、作業がとっても楽になります。

半ば諦めていたのですが、感謝!感謝!です。(jxssatb)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.