• ベストアンサー
  • すぐに回答を!

VisualBasic2008からExcelの操作の仕方

VisualBasic2008からExcelの操作の仕方 Button1のクリックイベントで、Excelに数値を飛ばしたいのですが、仕方がわかりません。 加えて、Excelからデータも持って来れたらいいなと考えています。 いろいろサンプルコードで試しているのですが、まず参照設定がよくわかりません。 プロジェクト→参照の設定→COM→Microsoft Excel 14.0 ObjectLibrary で追加しているのですが、 サンプルコードをVisualBasic2008にペーストしてやると、エラーのような下線が引かれてしまいます。 VisualBasicを使い始めたばかりなので、どうかわかりやすく、お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数507
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.1

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

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

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • VB2005でExcel2003とExcel2007

    初めまして、VB2005でExcelに出力するプログラムの開発を 行っているのですが、大変困っています。 どなたか教えて頂けないでしょうか。 VB2005の参照設定でMicrosoft Excel12.0 Object Library指定 してExcel2007をインストールしているパソコンでは Excelに出力できますがExcel2003を インストールしているパソコンではExcelに出力できません。 又、VB2005の参照設定でMicrosoft Excel11.0 Object Library指定 してExcel2003をインストールしているパソコンでは Excelに出力できますがExcel2007を インストールしているパソコンではExcelに出力できません。 Excel2003・Excel2007どちらがインストール されていてもExcelに出力できるプログラムを作成したいの ですが、何か方法はないでしょうか。 サンプル等があるHPがありましたら教えてください。

  • VS2005、C#、Excel2002でExcelの操作

    現在、開発環境が、 WinXP VS2005 Excel2002 なのですが、VS2005の参照の追加で、 Microsoft Excel 10.0 Object Library を追加すると、参照設定の「Excel」にビックリマークが出て、 「タイプライブラリ"Excel"のラッパーアセンブリが見つかりません。」と、 「参照コンポーネント'Excel'が見つかりませんでした。」 の2つの警告が出て、Excel操作の記述が書けません。 ちなみに、参照設定「Excel」のプロパティを見ると、パスが空になっています。 この状況で、C#でExcelを操作できるようにするにはどうしたらよいかご教授いただければ幸いですm(_ _)m

  • エクセル2007

    すいません。どなたかお教え下さい。 今までのエクセルでVBAで作ったもので、使えないものがあります。もともとの関数ではなく、Functionプロシージャ(でしたでしょうか?)で自分で作った関数が使えないようなのです。 新しいエクセルの参照設定はMicrosoft Excel 12.0 Object Libraryで、今までのはMicrosoft Excel 9.0 Object Library でした。(Microsoft Office 12.0 Object Libraryも同様に9.0でした) これが原因じゃないかと思っているのですが、もしそうだとすると、これの解決方法を教えて欲しいです。 これが原因じゃないとしたら、原因として考えられることを教えて欲しいです。 漠然とした質問で申し訳ないです。

その他の回答 (2)

  • 回答No.3

こんにちわ。 ANo2の方の回答が基本的なソースに近いですが補足させてもらいます。 セルに書きこんだ後、各オブジェクトを解放するようにしないと Excelのプロセスが消えないという現象が起きる可能性があります。 (VB2005では現象有、VB2008は試してません) 「VB Excel プロセス」で検索かければそのような記述がかなりヒットします。 「VB2008 Excel」で検索しても基本的なソースはいっぱいありますので 参考にされるのがいいと思いますよ。

共感・感謝の気持ちを伝えよう!

  • 回答No.2

こんばんは。 ネットを使って調べましょう。 私はあまり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

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Excelのオブジェクトライブラリへの参照について

    こんにちわ。 プログラムからExcelマクロを操作するのに、 VS.Netですと「プロジェクト」メニュー「参照の追加」-「COM」タブ内の【Microsoft Excel ○○ Object Library】を追加する必要があります。 この○○の部分にバージョン番号が入り、Excelのどのバージョンを使うかで変わるということもわかりました。 ちなみにVC#2002.NETを使っています。 ここで、 1.このCOMに入っている「Excel ○○」は、VS.Netの入っているPCの中のOffice環境に対応したもののみなのでしょうか? つまり、「Excel2000」が入っているPCのVS.NETで開発している場合は、「Excel9.0 Object Library」(より古い)のみしか候補として出ないのでしょうか? 2.上記認識が正しければExcel2000のみが入っているPCで開発しているが、「Excel10.0 Object Library」を使いたい場合、その方法はあるのでしょうか? どなたかよろしくお願いします。

  • VB開発のMicrosoft Excel 9.0 Object Libraryでエクセル2007で動きますか?

    VB2008使用、エクセル2000インストールされている環境で開発しています。 参照の追加でMicrosoft Excel 9.0 Object Libraryを選択するのですが、プログラムインストール先がエクセル2007使用しているので、エクセル2007で正常に動くか心配です。 事前バインディングの方が開発が楽なので事前バインディングを使用したいと思っています。 Microsoft Excel 9.0 Object Libraryでもエクセル2007で正常に動作しますでしょうか? それともMicrosoft Excel 12.0 Object Libraryを使用しないとダメでしょうか? よろしくお願いいたします<(_ _)>

  • DetectExcel 参照設定

    VBで、Excelを起動する際、オブジェクト名.DetectExcelとやっています。 これが、参照設定「Microsoft Excel 11.0 Object Library」ではエラーとなり、「Microsoft Excel 9.0 Object Library」ではエラーになりません。 これは仕様なのでしょうか? 何か回避方法があればご教授下さい。 よろしくお願いします。

  • 参照設定で・・・

    vb入門者ですが、よろしくお願いします。 2005を使っているのですが、 参照設定でCOMの Microsoft Excel11.0 object libraryを追加したいのですが、 追加するとパス名が、<システムでは、指定された参照が 見つかりません。>となってしまいます。 どうすれば、追加できるのでしょうか? 教えてください。よろしくお願いします。

  • VBAをExcel2010/2013で利用

    下記URLのサンプルファイルに含まれるVBAで作成されたユーザー定義関数について、 Excel2003(Windows7)の環境で利用することが出来ました。 http://www.relief.jp/itnote/archives/003799.php しかしながら、Excel2010およびExcel2013(ともにWindows7)で開くと、結果が #VALUE! と変わってしまい、正しく表示されませんでした。 VBAの参照設定でも同じものにチェックを入れている状態ですが、うまくいきません。 (ただし、Microsoft Excel XX.X Object LibraryやMicrosoft Office XX.X Object Library などバージョンの差異はあり) Excel2010またはExcel2013において、このユーザー定義関数を 正しく利用できる方法が分かりましたらご教示いただけますと助かります。

  • VB5.0からExcel97にデータを書き込むとき

    VB5.0からExcel97にデータを書き込んだりする場合、最初にVBのほうで どういう設定をしなければいけないのでしょうか? 参照設定でMicrosoft Excel 8.0 Object Libraryを選択していて 以下の文をVBに設定しています。 Dim ExcelApp As Object Set ExcelApp = CreateObject("Excel.Application") これだけだと、起動したときに"Excel.Application"の部分が 「型が一致しません」でエラーになります。 何か足りない設定があるのでしょうか? 説明がわかりにくいかと思いますが、どうしたらいいかなかなか わかりません。どうぞよろしくお願いします。

  • 参照設定 VBAとvb.net

    VBAの場合、他のアプリケーションを参照する場合は、 参照設定でMicrosoft Excel xxx Object Library にチェックを付ければ良いだけだけど、 vb.netの場合は、 参照設定で、Microsoft Excel xxx ObjectLibrary にチェックを付けた上で、更に Imports Microsoft.Office.Interop の宣言をしないといけないのですか? (例はエクセルです) Imports Microsoft.Office.Interop をし忘れると、 [型 'Excel.Workbook' が定義されていません。] と言うエラーが発生します。

  • Excel2003のObjectLibrary

    現在、社内でVB6からExcelファイルへ出力するプログラムを作成しております。 社内のExcelは2000で、お客様のExcelは2003なのですが、2003のObjectLibraryは10ですか?9ですか? 社内は2000なのでExcel 9.0 ObjectLibraryを参照設定することでうまく行きそうなのですが、お客様のところでもうまく行くのか不安です。 Excel2003のObjectLibraryは何なのか? また、10の場合は参照設定をExcel 10.0 ObjectLibraryにかえるだけでうまくいくのでしょうか? プログラムでは シートのコピー、シート名変更、セルへの書込み ぐらいの処理しかしません。 ご存知の方、いらっしゃいましたら、ご回答お願い致します。

  • VB2008を使用して、VisualBasicの勉強をしています。

    VB2008を使用して、VisualBasicの勉強をしています。 MSFlexGridを使用したいのですが、 プロジェクト→参照の追加→COMで探しても見つかりません・・・。 いくつか参考サイトを見て、ActiveXを追加すれば良いことはわかったのですが、 方法がわかりません。 詳しい方、教えて頂けないでしょうか。 よろしくお願いします。

  • EXCEL2000 VBAでのWORD参照設定

    EXCEL2007では、VBEのメニューから"MICROSOFT WORD *.* OBJECT LIBRARY"の参照設定が出来ますが、EXCEL2000ではWORD参照設定が見当たりません。 EXCEL2000 VBAでのWORD参照設定方法を教えて下さい。 会社では、まだEXCEL2000を使用しているので、よろしくお願いします。