VC で COM を 使ってみる(FileSystemObject)その1

  • デル株式会社
  • VC から VBAやVBSでお馴染みの FileSystemObject を使う要件が出てきて使ってみた。

    例えば、VBSでFileSystemObjectを使う場合、
    こんな感じで使用する。

    'ファイルシステムオブジェクト用 
    Dim objFso 
      
    'ファイルシステムオブジェクト生成 
    Set objFso = CreateObject("Scripting.FileSystemObject")
    
    'ディレクトリの削除 
    objFso.DeleteFolder("C:\TestDir")
    
    Set objFso = Nothing
    


    まずは、FileSystemObject をVCから使用するための準備。

    FileSystemObjectはCOMなので、Visual Studio に付属する Oleview で FileSystemObjectの情報を確認する。
    ちなみに、私の環境では、下記の場所にインストールされていました。

    C:\Program Files (x86)\Windows Kits\8.1\bin\x86

    そして、Oleviewを起動。こんな画面。

    OLE1

    左のツリーの中から、[All Objects]-[FileSystem Objects]の
    順で選択。

    ole2
    ole3

    右のウインドウから、FileSystemObject の情報を確認する。
    ちなみに、この情報は、当然なんだが、レジストリからも確認できる。

    ole4

    この情報の中から、実体のパスを確認し、インタフェースなどを確認する。

    メニューから、[File]-[View TypeLib…]の順に選択する。
    選択ダイアログで実体のDLLを選択する。

    C:\Windows\System32\scrrun.dll

    oleDlg

    FileSystemObject の詳細が表示される。

    ole4

    詳細をもとに、VCでコードを書いてみる。
    でっ、疲れたので本日ここまで。

    余談だけど、Oleview 起動時 に
    こんなエラー(DllRegisterServer in IVIEWERS.DLL failed.)が出た場合は。。

    OleErr

    Oleviewを1度で良いので管理者として実行を行う。

    olerun

    それでもだめなら、レジストリに登録しなおしなんだけど、
    割愛。。

    関連記事

    ページ上部へ戻る