こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VisualBasic2008からExcelの操作の仕方

VisualBasic2008からExcelの操作の仕方
Button1のクリックイベントで、Excelに数値を飛ばしたいのですが、仕方がわかりません。
加えて、Excelからデータも持って来れたらいいなと考えています。

いろいろサンプルコードで試しているのですが、まず参照設定がよくわかりません。
プロジェクト→参照の設定→COM→Microsoft Excel 14.0 ObjectLibrary で追加しているのですが、
サンプルコードをVisualBasic2008にペーストしてやると、エラーのような下線が引かれてしまいます。

VisualBasicを使い始めたばかりなので、どうかわかりやすく、お願いします。

投稿日時 - 2010-10-06 13:20:10

QNo.6231410

すぐに回答ほしいです

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

参照設定とは、プログラムから見に行くライブラリの場所をあらかじめ設定しておくというものです。
Microsoft Excel 14.0 ObjectLibraryですからOffice2010のライブラリを参照すると設定しています。
エラー箇所の内容が出ていないのですし、サンプルコードがなんなのかもわからないので、なんとも返答しにくいです。
とりあえず、Excelアプリケーションとワークブック・ワークシートをオブジェクトにして、ExcelVBAのように操作!っていう感じです。
参考URLをどうぞ!!

参考URL:http://www.asahi-net.or.jp/~ef2o-inue/vbnet/sub13_03_010.html

投稿日時 - 2010-10-06 14:25:05

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(3)

こんにちわ。

ANo2の方の回答が基本的なソースに近いですが補足させてもらいます。

セルに書きこんだ後、各オブジェクトを解放するようにしないと
Excelのプロセスが消えないという現象が起きる可能性があります。
(VB2005では現象有、VB2008は試してません)

「VB Excel プロセス」で検索かければそのような記述がかなりヒットします。
「VB2008 Excel」で検索しても基本的なソースはいっぱいありますので
参考にされるのがいいと思いますよ。

投稿日時 - 2010-10-07 17:28:30

こんばんは。

ネットを使って調べましょう。
私はあまりVBは使いませんが、以下のコードで
Excelを起動し、新規ワークブックを作り、Sheet1のA1セルに
値「1」を書き込みます。

Imports Microsoft.Office.Interop.Excel

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim AppExcel As New Microsoft.Office.Interop.Excel.Application
AppExcel.Visible = True
Dim WB As Workbook = AppExcel.Workbooks.Add()
Dim WS As Worksheet = WB.Worksheets(1)
Dim MyR As Microsoft.Office.Interop.Excel.Range
MyR = WS.Range("A1")
MyR.Value = 1
End Sub
End Class

投稿日時 - 2010-10-06 22:49:01

あなたにオススメの質問