• ベストアンサー

VB2010Express で、Excelのcellデータをコピーする

VB2010Express で、Excelのcellデータをコピーするには? VB.netでは、Excelを操作する方法が書かれていますが、 それらを参考(http://anetm.com/dev/tools/vbdotnet/112288.htm)にしてコードを書いてみると、 Dim MjobjExcel As Excel.Application の「Excel.Applicationが宣言していない」というエラーメッセージが出ます。 どうしたら、ExcelのCell群からデータを、VBの変数にコピーできますか?

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

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.2
参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1214300647&sort=1
xcode_15
質問者

お礼

何とか、データの受け渡しをすることが出来ました。 VB2010では、ソースコードの冒頭に、 Imports System.Net Imports Microsoft.Office.Interop を入れないといけないようです。 ありがとう御座いました。

xcode_15
質問者

補足

お返事を、遅れてすみません。 プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryに、チェックを入れておきましたが、 Dim xlApp   As Excel.Application   Dim xlBook As Excel.Workbook   Dim xlSheet As Excel.Worksheet   の「Excel.***」で、定義されていませんと反応してしまいます。 前設定で、他に何かして置かないといけなかったのでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

> どうしたら、ExcelのCell群からデータを、VBの変数にコピーできますか?  一般的な代入文で、対応可能だと思います。  具体的に、どの情報を どの変数にコピーしたいと おっしゃっているのでしょう。  明示していただけませんか?

xcode_15
質問者

補足

御解答を戴きまして、ありがとうございます。 > 具体的に、どの情報を どの変数にコピーしたいと おっしゃっているのでしょう。 例えば、 Excel側のSheet1の(A1:B25)のセルに書き込まれている文字列を、 VB側の二次元配列 hoge に代入できますか? VBは、Excel VBAではありません。 (念のため) 二つのアプリケーションを跨ぐ為、方法としては、csvファイル等でファイル共有させるか、クリップボードを利用するの二通りが考えられるのですが、どうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB2005でExcelのシートをコピー

    VB2005Expressで開発をしています。 Excelのシートをコピーして同じbookに追加をしたいと思っています。 下記でまずExcelを使用できるようにして  Dim xlApp As New Excel.Application  Dim xlBooks As Excel.Workbooks = xlApp.Workbooks  Dim xlBook As Excel.Workbook = xlBooks.Add '新規のファイルを開く  Dim xlSheets As Excel.Sheets = xlBook.Worksheets  Dim xlSheet As Excel.Worksheet = xlSheets.Item(1)  xlApp.Visible = True 下記で追加できると思うのですが、()内にセットするパラメータが わかりません・・・  xlBook.Worksheets.Copy() どなたかご存知の方がいらっしゃいましたら教えて下さい。 よろしくお願いします。

  • VBでエクセルのデータを取り込む方法

    VB2010にエクセル(2003)のデータを取り込みたいのですが、うまくいきません。 どうすればよいのでしょうか。 外部アプリなので、Public Class Form1の前にImports Excel = Microsoft.Office.Interop.Excel と記入、dim xlapp as excel.apllcation dim xlbook as exce.book dim xlsheets as excel.sheets と記入してみますがこの時点でコードエラーとなります。(ネットで調べこのように記述しました) どうすればいいでしょうか。 すみません。vb初心者なので詳しく教えていただくとたすかります。 よろしくお願いします。

  • excelのデータをvbにとりこむ

    excelのあるセルのデータを取り込みたいのですが、 どうすればよいでしょうか? C:\123.xlsというファイルのsheet1の (2,4)というセルにある実数型のデータを 出力するという、意図です。 Private Sub Setting_Click() Dim xls As Object Dim xlsFilename As String Dim xlsSheetname As String xlsFilename = "C:\123.xls" xlsSheetname = "Sheet1" Set xls = CreateObject("Excel.Application") xls.Application.Visible = False xls.Application.Workbooks.Open xlsFilename Dim r1 As Double r1 = xls.Application.Workbooks.cells(2, 4).Value Print r1 end sub

  • VBでEXCELのシートのコピーに関して

    同一Book内で、シートのコピーをしようと考えて、幾つかのHPを参考に、以下のような 記述をしました。 その際に、以下の記述をした場合、本来はコピー先のシート名を変更したいにも関わらず、コピー 元のシート名が変わってしまいます。 追加したシートの名前を変更させるには、どのような書き方にすれば良いでしょうか? 自分で記述しておきながら、どのように対応したら良いかわからず。。。 また、以下のような記述をした場合、追加したセル側のシートを操作したいにも関わらず、 コピー元のシートを書き換えてしまいます。 追加したシートのセルを操作したい(値を入力)ような場合は、どのような記述を すれば良いでしょうか。。。 ご教授頂ければと思います。 '既存のEXCELファイルを開く Dim xlFilePath As String = "C:\test.xls" '起動時の処理 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) '確認のためExcelのウィンドウを表示する xlApp.Visible = True Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) Dim xlSheet2 As Excel.Worksheet = xlBook.Worksheets(1) 'シートのコピー xlSheet.Copy(After:=xlSheet2) 'シートに名前を付ける xlSheet.Name = "TEST" Dim xlRange As Excel.Range 'データの入力セル範囲 xlRange = xlSheet.Range("A1:A1") 'セルへデータの入力 xlRange.Value = “AABBCC”

  • VisualBasic.Netのフォーム上からExcelを起動するには

    VisualBasic.Netのフォーム上からExcel2003を起動するにはどのようにすればよろしいでしょうか。 http://anetm.com/dev/tools/vbdotnet/112215.htm を試してみましたが、 型Excel.Applicationが宣言されてません 型Eexcel.Workbookが宣言されてません となり、うまくいきませんでした。 宜しくお願いします

  • VB2008でEXCELのセルデータが読めません

    VB2008でEXCELを開き、セルの内容を読み込もうとしましたが読み込めません。 EXCELのオープンとセルの読み込みは下記により行いました。 Dim strExcelFile As String 'エクセルファイル Dim xlApp As Excel.Application       Dim strExcelData As String xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open(Filename:=strExcelFile) xlApp.Visible = True 'EXCELは表示されている strExcelData = xlApp.Cells(3,4).ToString EXCELの3列4行には数値が入っていますが、strExcelDataには"System._ ComObject"というデータが読み込まれています。 ToStringは、これをつけないとデータの型が違うとエラーになります。 EXCELのデータは文字型と思っていましたがこれも判りません。 VBのMicrosoft Excel9.0Object LibraryをクリックしてOKしています。 原因の見当が皆目つかず困っています。

  • visual basic 2005 express edition でエクセル操作ってできます?

    もともとエクセルマクロを使用して 業務ツールを作っていたのですが、 visual basic2005になって無料版がでたのでそちらに移行しようかと考えている者です。 ひとつ確認させてください。 VB2005expressでエクセルのセル値を変更するコードを書いたのですが、 "range"や"cell"の頭部分が大文字になりません。 自動表示(?プルダウンで表示される機能)にも、"range""cell"等の出力はされないのですが、 なぜか、小文字のままでも動作はします。 express editionでは、オフィスの操作は正式対応していないのでしょうか? Dim xl As Object 'Excel.Application Dim wb As Object 'Excel.Workbook Dim ws As Object 'Excel.Worksheet xl = CreateObject("Excel.Application") wb = xl.Workbooks.Open(ファイル名) xl.Visible = True ws = wb.Worksheets("Sheet1") ' シート内のセルに文字を書き込む ws.cells(1, 1).Value = "hogehoge" ws.range("A1").offset(1, 2).value = "gogo"

  • VB6.0へのExcel導入

    ずいぶん前ですけど、VBにExcelのグラフを出しかたを質問したのですが、今回はVB6.0で出したいのですが…前回と同様にやろうとしてもできないです。どなたか知りませんか? ちなみに前回のは下記のとおりです。 VB.NETでExcelを利用するには、.NETの[参照の追加]ダイアログボックスを使って、必要なオブジェクトライブラリへの参照をプロジェクトに追加します。 [プロジェクト] → [追加の参照] → [追加の参照]ダイアログボックス → [COM]タブ → [Microsoft Excel.10.0 Object Library]を選択 → [はい] 次にExcelアプリケーションオブジェクトを生成します。 Dim ExlApp AS Excel.Application Dim ExlBook AS Excel.Workbook Dim ExlSheet AS Excel.Worksheet Dim ExlRange AS Excel.Range ExlApp = CreateObject("Excel.Application") ExlBook = ExlApp.Wookbooks.Add ExlSheet = ExlBook.Worksheets(1) ExelSheet.Application.Visible = True

  • VBに詳しい方に質問です

    VBではdouble型等の型を持つ関数は宣言できるのでしょうか? C#だちできると思うのですが・・・。 また、VBでも Dim hoge as doubleなど、変数ならできると思うのですが・・。 ご存知の方、お願いします。

  • VB2005でのEXCEL制御について

    いつもお世話になってます。 私はVB入門者です。 VBからシートを選択して値を入れることは出来たのですが 範囲選択→格子罫線をひく、といったような操作について 調べたところ、マクロをつくりコピーアンドペーストでスムーズに いくということがわかったので、試したところうまくいきませんでした。 又、質問ナンバー QNo.3575919 に [Visual Basic2005でExcelに罫線を描く]とあり 「CreateObject("Excel.Application")」はソースに入っているか という部分がポイントのようなので、少しいじってはみたのですが うまくかけませんでした。 と、いうよりも理解できませんでした。 下記のコードでは選択範囲を指定する部分まで成功したものです。 アドバイスよろしくお願いします。 Sub excel_app() Dim xlApp As Excel.Application = Nothing Dim xlBooks As Excel.Workbooks = Nothing Dim xlBook As Excel.Workbook = Nothing Dim xlSheets As Excel.Sheets = Nothing Dim xlSheet As Excel.Worksheet = Nothing xlApp = New Excel.Application() xlBooks = xlApp.Workbooks xlBook = xlBooks.Open("C:\hoge.xls") xlSheets = xlBook.Worksheets xlBook.Worksheets(1).Range("A31:Y55").Select() xlBook.Worksheets(1).Range.Borders. ←これ以降がわかりません。