VB6でエクセルファイルを起動するには?

解決


VB初心者  2005-03-08 06:27:20  No: 88705

余りにも初歩的な質問で申し訳ございません。

VB6で例えばC:\temp\a.xlsファイルを開きたいのですが、
どのようにコーディングすればよろしいのでしょうか?

もし、CreateObject関数やGetObject関数を使用するのであれば、
使い方が分かりませんので、そのあたりもご教授ください。


Say  2005-03-08 07:11:28  No: 88706

>もし、CreateObject関数やGetObject関数を使用するのであれば、
そこまでわかってて、自分でヘルプ見ようとは思わないわけ?


VB初心者  2005-03-08 08:13:02  No: 88707

ヘルプ等で調べて、
Dim objFile As Object
objFile = GetObject("c:\temp\a.xls")
と入力し、処理を実行してみたのですが、
「実行時エラー'91' オブジェクト変数またはWithブロック変数が設定されていません。」
というエラーが発生致しました。

どういう意味なのでしょうか?
ちなみに、対象とするxlsファイルは、マクロ付のエクセルファイルですが、マクロ付だと何か制限が発生するのでしょうか?


Say  2005-03-08 13:04:02  No: 88708

>ヘルプ等で調べて、
>Dim objFile As Object
>objFile = GetObject("c:\temp\a.xls")
ヘルプの解説にも使用例にも
そういうコードは記載されてなかったと思いますが?

また、GetObjectとCreateObjectの違いもヘルプに記載されています。
ヘルプの内容に不明点があるなら、ヘルプに即して質問してください。


みい  2005-03-08 18:57:35  No: 88709

ヘルプ(GetObject 関数)より抜粋
> GetObject 関数で取得したオブジェクトをオブジェクト変数に代入するには、
> Set ステートメントを使います。次に例を示します。
> Dim CADObject As Object
> Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")
使用例の方もSetが使われていますよ。
ヘルプはきちんと読みましょう!!


batchman  2005-03-08 19:07:47  No: 88710

ここにいってExcel & Word関係のところのサンプルを参考にすれば、
分かりやすいんじゃないかな...
http://www.bcap.co.jp/hanafusa/

Excelファイルを開くだけでいいなら、
Shell関数やShellExecuteAPIを使うって手もあるけど...


VB初心者  2005-03-08 21:16:10  No: 88711

batchmanさんが紹介してくれたサイトでの
「既存のエクセルファイルを開く」を参考に、コーディングしてみました。

On Error Resume Next
Dim xlApp    As Excel.Application
Dim xlBook   As Excel.Workbook
Dim xlSheet  As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Open("C:\temp\a.xls")
Set xlSheet = xlBook.Worksheets(1)

Set xlSheet = Nothing
Set xlBook  = Nothing
Set xlApp   = Nothing

しかし、何も返答がありませんでした。
ちなみにa.xlsファイルのセル等には編集はしないため、途中を省きました。
a.xlsファイルをただ開くだけで結構なのですが・・・。


まじめに考えてね  2005-03-08 21:34:05  No: 88712

サンプルでは
    'この状態で起動した場合マクロの警告は表示されません。
    '以下の2行が(その1)との相違部分です
    Set xlBook = xlApp.Workbooks.Open("C:\Temp.xls")  'オープンするファイル名
    Set xlSheet = xlBook.Worksheets(1)     '最初のシートに書き込み
    '                    Worksheets(Sheet1等のシート名でも可)

>    xlApp.Visible = True    'Excelを表示

Excelを表示の部分を削除すれば、見えない(表示されない)のは当然なのでは?


VB初心者  2005-03-08 22:15:05  No: 88713

うっかり見落としていました。
確かに表示部分を削除すれば、見えないのは当然ですよね。。。
どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加