@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

指定したエクセルファイルの起動のさせ方を教えて下さい。

1
投稿者投稿内容
けんけん
会議室デビュー日: 2005/11/28
投稿数: 4
投稿日時: 2005-11-30 06:50
仮に「A.xls」をいう名のエクセルファイルがデスクトップにある場合の
VBA.Netでの起動のさせ方を教えて下さい。

Private Sub Button1_Click(・・・) Handles Button1.Click
Dim xls As Excel.Application
Dim xbook As Excel.Workbook

xls = CType(CreateObject("Excel.Application"), Excel.Application)
xbook = CType(xls.Workbooks.Add, Excel.Workbook)

xbook.Application.Visible = True
Me.Hide()
End Sub

参考書にはこんな感じで書いてあったのですが・・・・

ちなみに同ファイルのsheet1のセルA1の計算式の値をLabel1.textに表示させたいのですが・・・・

どのなたか親切な方宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-30 09:33
引用:

けんけんさんの書き込み (2005-11-30 06:50) より:

仮に「A.xls」をいう名のエクセルファイルがデスクトップにある場合の
VBA.Netでの起動のさせ方を教えて下さい。


Excel.Workbooks オブジェクトから Open メソッドを実行します。
開くだけで良いなら、Excel を Process.Start から引数付きで起動しても良いでしょう。

引用:

xbook = CType(xls.Workbooks.Add, Excel.Workbook)


このコードは危険です。
Workbooks オブジェクトの参照を解放するタイミングを失っています。

参照の解放については以下をご参照ください。

  COM オブジェクトを解放する

引用:

ちなみに同ファイルのsheet1のセルA1の計算式の値をLabel1.textに表示させたいのですが・・・・


これは、Excel.Worksheets オブジェクトから任意の Worksheet を参照し、
さらに、Excel.Range を使用して参照することができます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
けんけん
会議室デビュー日: 2005/11/28
投稿数: 4
投稿日時: 2005-11-30 17:27
有難う御座います。

Private Sub Button1_Click(・・・・・) Handles Button4.Click
System.Diagnostics.Process.Start("C:\A.xls")
End Sub

上記で起動する事が出来ました。

が・・・

もう一つこのA.xlsファイルのvisiableをFalseにしたいのですが、教えて下さい。

本当にまだドシロートなので、コードを教えて頂けましたら助かります。

先程、助言頂きましたこのA.xlsファイルのsheet1のA1のデータの取得が未だに分かりません・・・

本当にご迷惑をおかけします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-30 18:16
引用:

けんけんさんの書き込み (2005-11-30 17:27) より:

もう一つこのA.xlsファイルのvisiableをFalseにしたいのですが、教えて下さい。


「ファイルを非表示にする」とのことですが、これでは意味が判らないですよね。
A.xls で開いた Book を非表示にしたいということでしょうか?
それとも、Excel.Application 自体を非表示にしたいということでしょうか?

引用:

先程、助言頂きましたこのA.xlsファイルのsheet1のA1のデータの取得が未だに分かりません・・・


これを同時に行うのであれば、Process.Start ではなく、
先に示したように Excel.Workbooks オブジェクトから Open メソッドを実行してください。
その後、Worksheets, Worksheet を経て、Range オブジェクトから取得できます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
けんけん
会議室デビュー日: 2005/11/28
投稿数: 4
投稿日時: 2005-12-01 02:22
申し訳御座いません。

Excel Application自体を非表示にしたいのですが・・・
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-01 09:20
引用:

けんけんさんの書き込み (2005-12-01 02:22) より:

Excel Application自体を非表示にしたいのですが・・・


Excel COM の場合は、デフォルトで非表示ですよ。
表示する場合は、Visible プロパティを true にしますから。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)