>common dialog controlの挿入等試して
>みましたがうまくいきません
http://www.serpress.co.jp/excel/vba030.html
に書かれているような段取りでしていらっしゃるのでしょうか?
-------------------------------
「Option Explicit」で変数の宣言を強制してある場合には、
-------------------------------
【1】「Private Sub CommandButton1_click()」が 標準モジュール などに記載してある場合:
【1-1】[CommandButton1] を クリック した場合:何も起こりません。
【1-2】VBE において デバッグ しようとしている場合:
CommonDialog1.Filename = ""
の行で「コンパイル エラー: 変数が定義されていません。」が発生します。
-------------------------------
【2】「Private Sub CommandButton1_click()」が フォーム モジュール に記載してある場合
【2-1】[UserForm1] 上に [CommonDialog1] コントロール がない(削除された)場合:
CommonDialog1.Filename = ""
の行で「コンパイル エラー: 変数が定義されていません。」が発生します。
【2-2】[CommonDialog] の「(オブジェクト名)」が「CommonDialog1」でなくなっている場合:【2-1】と同じ結果です。
-------------------------------
【1-2】【2-1】の場合に、「Option Explicit」で変数の宣言を強制していない場合:
「コンパイル エラー: 変数が定義されていません。」が発生する場所で、「実行時エラー '424': オブジェクトが必要です。」が発生します。
※VBE の [ツール(T)] - [参照設定(R)...] において、[参照(B)...] ボタン を クリック、[ファイル名(N):] に、「C:\windows\System32\COMDLG32.OCX」と入力して、[参照可能なライブラリ ファイル(A):] の一覧の「Microsoft Common Dialog Control 6.0 (SP6)」に チェック が付いた状態でも結果は変わらないようです。
-------------------------------
以上のことから、【1-2】はちょっとあり得ないので、【2-1】ということになりましょうか?(これもあり得ませんが。。。)
===============================
ちなみに、
>既存のマクロの都合でcommondialogの
>コマンドを使用して作りたいです。
とのことですが、
http://gallery.technet.microsoft.com/scriptcenter/5481e36a-8073-40ae-92cd-fbef1e6df99a
には、
>UserAccounts.CommonDialog オブジェクトは、
>セキュリティ上の問題から Windows Vista で
>廃止されました。
と書かれています。
今、Windows7 32bit & Excel 2003 で試してみましたが、問題なく行なうことができましたので、実際のところは分かりませんが、「セキュリティ上の問題から廃止」になったものを使うというのはどうでしょうかねぇ。。。
ちなみにちなみに、本家MS社でありながら、「12/2/2010」(昨年暮れ)に「UserAccounts.CommonDialog オブジェクト」の使い方を紹介しています。
http://gallery.technet.microsoft.com/scriptcenter/93f959a5-b57e-4617-9f55-4b0aacdd12cb/
また、冒頭の URL は、下記を具体的に紹介した ページ かと存じます。
●コモン ダイアログ コントロール (Comdlg32.ocx) を呼び出すコードを実行するとエラー メッセージ "ActiveX コンポーネントはオブジェクトを作成できません" が表示される
http://support.microsoft.com/kb/281848/ja