• ベストアンサー

コモンダイアログからExcelへ

コモンダイアログから既存のExcelファイルを表示させたいのですが、わかりません。 コモンダイアログの「開く」を押すとフルパスが取得されるというのは理解できたのですが、実際にプログラムをどう書いていいのかわかりません。 ファイルのパスを使うとはどういうことでしょうか? またshell関数をどう使えばいいのでしょうか? 基本的な質問で申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Azzuri
  • ベストアンサー率68% (34/50)
回答No.1

With CommonDialog1 .DialogTitle = "エクセルファイルの選択" .flags = cdlOFNFileMustExist + cdlOFNPathMustExist 'ファイルの種類を設定する .Filter = "Excelブック形式(*.xls)|*.xls|" 'キャンセルボタン選択時エラー .CancelError = True 'ファイルを開くダイアログを表示 .ShowOpen End With intErrNum = Err.Number If intErrNum <> cdlCancel Then Shell CommonDialog1.Filename End If 上記の処理をダイアログを開く処理のところに記述して下さい。

tomokoji
質問者

補足

お返事ありがとうございます! Azzuriさんのいうとおり書き直してみましたが Private Sub Command1_Click() With CommonDialog1 .DialogTitle = "元名簿の選択" .Filter = "Excel ファイル (*.xls)|*.xls|All File (*.*)|*.*" .InitDir = "\\File2\Homes2\ua01110\meibo" .CancelError = True .ShowOpen End With intErrNum = Err.Number If intErrNum <> cdlCancel Then Shell CommonDialog1.FileName End If End Sub これで実行すると「プロシージャの呼び出し、または引数が不正です」とエラーが出てしまいます。 場所が違うのでしょうか?

その他の回答 (2)

  • Azzuri
  • ベストアンサー率68% (34/50)
回答No.3

すみません。 Dim oExcel As New Excel.Application が正解です。

  • Azzuri
  • ベストアンサー率68% (34/50)
回答No.2

Excelがインストールされている前提で話します。 参照設定で、Excelオブジェクトを参照して下さい。 その後、Shellと以下の処理を入れ替えて下さい。 Dim oExcel New As Excel.Application Call oExcel.Workbooks.Open(CommonDialog1.FileName) oExcel.Application.Visible = True Set oExcel = Nothing 動作確認もしたので、大丈夫だと思います。

関連するQ&A

  • コモンダイアログのファイルを開くについて

    Windowsのファイルを開くダイアログで、ファイルを開くダイアログから エクセルファイルを選択し、開くボタンを押したら、選択された エクセルファイルを開きたいのですが、ヘルプで参照したところコモンダイアログ があるのを知りました。 ダイアログを開くところまでは、できたのですが、次にエクセルファイルを選択 し、開くボタンを押したときのイベントってどうやってとればよいのかわかりません。 開くボタンを押時に、選択されているパスを取りたいのですが、それもどうやって 取ればよいのやら、、、(+_+) ご教示ねがえませんでしょうか? よろしくお願いいたします。

  • コモンダイアログの設定

    コモンダイアログを表示させると「読み取り専用ファイルとして開く」というチェックボックスがダイアログの下のほうに出ていますが、このチェックボックスを表示させないようにするにはどうすればいいのでしょうか? コモンダイアログはGetOpenFileName関数で表示させています。 また、APIを利用する上で参考になるサイトをご存知でしたら教えてください。

  • Excel97のVBAでコモンダイアログを使いたい

    現在Excel97で二つのテキストデータベース(固定長形式)を読み込み、解析を行おうとしています。 現在、べたに二つのファイルのパスをコードに書き込めばファイルの読み込みも上手くいくのですが、やはりここは出来るならばファイル指定を汎用のダイアログで行えるようにしたいと思いあれこれ方法を探しています。 そこで読み込みたい二つのファイルのパスを、VBで利用できるCommonDialogで取得出来るなら、一からファイル選択用フォームを作成しなくても済むので楽になると思いついたのですが、Excel97のVBAでの転用がうまくいかなくて企画倒れの状態になっています。 参照設定でComCtrl32.OCXを読み込めればと思い試験してみたもののうまくいかず、次の方法が見つからずに途方に暮れています。 もしかしてVBAではコモンダイアログは利用できないのでしょうか?

  • コモンダイアログを表示したい

    Windows98/VisualBasic5.0を使用しています。 ファイル名を指定させるために、コモンダイアログを表示したいのですが方法がわかりません。 コントロールを貼り付ければよいのでしょうか? 初歩的な質問で申し訳ありませんが、よろしくお願いします。

  • コモンダイアログコントロールの使い方

    お世話になっております。 VC++6.0でアプリ開発をしていますが、 コモンダイアログの使い方がわかりません。 ダイアログ上のボタンをクリックしたら 「ファイルを開く」のダイアログを表示させたいのですが。 ご回答よろしくお願いします。

  • コモンダイアログの表示

    VB.NETでエクセルをコントロールするS/Wを作っています保存時にコモンダイアログを表示させたいのですが、ツールBOXに見あたりません。どうすれば出てきますか。

  • コモンダイアログ・カラーの代替え

     コモンダイアログで、カラーを選択することができますよね。このコモンダイアログ・カラーを使用せずに、自分で同様なものを作成したいのですが、デフォルトで表示されてくる複数の色たちが、どのようにして決められているか解りません。  これらの色は、システムから取得できるのでしょうか?それとも、決めうちをしないといけないのでしょうか?  また、具体的に手法を教えていただければ幸いです。  なお、カスタムカラーを使用するつもりはないので、この部分を除いて、教えていただければ結構ですので、よろしくお願いします。

  • コモンダイアログの表示位置

    コモンダイアログの「ファイルを開く」を実行すると 左上に表示されてしまいます。 大抵のソフトは中央に表示されていますが、どのよう にすれば中央に表示されるのでしょうか。 どなたか教えて下さい。

  • リストボックスのリストをコモンダイアログを使って保存

    タイトルにあるようにリストボックスの内容をテキストファイルにコモンダイアログを使って保存したいのですが、どのようにするのでしょうか? ちなみにコモンダイアログの「名前をつけて保存」は表示させることが出来ます。 宜しくお願いします

  • EXCELで「グラフの種類」を出すダイアログボックス

    EXCELで「グラフの種類」を出すダイアログボックスを出して 選ばれた種類を取得する関数を知りたいのです。 (既存のグラフを選んでグラフの種類とすると出てくる  ダイアログボックスの関数です) 例えば 保存したいファイルを聞く 関数は GetSaveAsFilename() ですよね そういった感じの 関数を知りたいです。 Dialog オブジェクト.show は実行されてしまうので使いたくないのです できれば EXCEL97ぐらい迄、互換があればいいのですが よろしく お願いします

専門家に質問してみよう