■13803 / inTopicNo.8) |
Re[6]: vb.netからExcelファイルを出力したい |
□投稿者/ 初心者 (52回)-(2008/02/05(Tue) 09:30:42)
|
■No13769 (特攻隊長まるるう さん) に返信 > 思いっきり GrapeCity やん(>< > http://www.grapecity.com/japan/support/database/P7_341.htm > > >多分標準のVB2005だと思います。。 > 違います。 > エラーメッセージの通りですが、GrapeCity のソフトをちゃんとインストールしましたか? >
■No13774 (はつね さん) に返信 > 特攻隊長まるるうさんの書かれているようにGrapeCityのコンポーネントですね。 > http://www.grapecity.com/japan/support/Search/FaqContent.asp?id=21326
特攻体調まるるう様 はつね様
返信ありがとうございます。 そして大変失礼致しました(TT;)
初心者な上に、元々あるシステムの機能追加作業で、 何を使用しているのか等ぜんぜん理解しておりませんでした。 (メソッド&カンマで出てきたヒント(?)は全て標準のVB2005なのかと・・。)
本当に大変失礼致しました。
私が今機能追加を行っているシステムの他の画面なのですが、 「グリッド名.ExportToDelimitedFile」(グリッドからCSV出力)が正常に動作しているので、 そこを参考に「グリッド名.」を入力して探して「ExportToExcel」を使用しようと思いました。
特攻体調まるるう様、はつね様に御教授頂いた「GrapeCity」はインストールされていて、 (プログラムの追加と削除で[Power Tools True DBGrid for .NET 2.0J]があることを確認しました。) システムの参照設定を確認した所、「C1.Win.C1Preview.2.dll」はあったのですが、 「C1.C1Preview.2.dll」がなく、これが原因である事が分かりました。
ありがとうございました!! 本当にすごく助かりました!!
又、もう一点だけ質問をさせて頂きたいのですが、上記「ExportToExcel」を使用して、 グリッドの一部のみを出力という処理が不可能だった場合、はつね様に教えて頂いた ExcelとCOM連携での出力に挑戦したいと思っております。
昨日、はつね様に教えて頂いた段階で、少しコードを書いて(コピーして)みたのですが、 参照設定に「Microsoft Excel *.* ObjectLibrary」を追加して [Excel.Application]の下の波線は消えたのですが、[MRComObject]の下の波線は 消えず、エラーとして残ってしまいました。
[MRComObject]も何か参照設定を追加しないといけないのでしょうか?? 度重なる質問で申し訳ございません。
何卒御教授よろしくお願い致します。
---------------------------------------------------------------------------------- ''プロジェクト→参照の追加→COM→Microsoft Excel *.* ObjectLibrary '(1)================== 起動時の処理 =================== 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 'Excelを表示(必ずとも表示しなくてもよい) '====================== 起動処理ここまで ===============
'================== データの入力処理 ================== Dim xlRange As Excel.Range Dim strDat(2, 0) As Object xlRange = xlSheet.Range("A5:A7") 'データの入力セル範囲 strDat(0, 0) = "10" 'データの作成 strDat(1, 0) = "20" strDat(2, 0) = "=Sum(A5:A6)" '計算式 xlRange.Value = strDat 'セルへデータの入力
'又は、 Dim xlCells As Excel.Range Dim xlRange1 As Excel.Range xlCells = xlSheet.Cells xlRange1 = xlCells(5, 3) xlRange1.Value = "12" MRComObject(xlRange1) 'xlRange1 の解放(都度解放しないとだめ) xlRange1 = xlCells(6, 3) xlRange1.Value = "34" MRComObject(xlRange1) 'xlRange1 の解放(都度解放しないとだめ) xlRange1 = xlCells(7, 3) xlRange1.Value = "=C5+C6" MRComObject(xlCells) 'xlCells の解放(こちらは1回でOK) MRComObject(xlRange1) 'xlRange1 の解放 MRComObject(xlRange) 'xlRange の解放 '================== データの入力処理ここまで ==================
'(3)================== ファイルの保存処理 ================== Dim xlFilePath As String = "c:\Test1.xls" '保存ファイル名 xlApp.DisplayAlerts = False '保存時の問合せのダイアログを非表示に設定 xlSheet.SaveAs(xlFilePath) 'ファイルに保存
xlApp.DisplayAlerts = True '元に戻す
'(3)================== 終了処理 ===================== MRComObject(xlSheet) 'xlSheet の解放 MRComObject(xlSheets) 'xlSheets の解放 xlBook.Close(False) 'xlBook を閉じる MRComObject(xlBook) 'xlBook の解放 MRComObject(xlBooks) 'xlBooks の解放 xlApp.Quit() 'Excelを閉じる MRComObject(xlApp) 'xlApp を解放 Dim oExcel As Object Dim oBook As Object Dim oSheet As Object
'Start a new workbook in Excel. oExcel = CreateObject("Excel.Application") oBook = oExcel.Workbooks.Add
'Add data to cells of the first worksheet in the new workbook. oSheet = oBook.Worksheets(1) oSheet.Range("A1").Value = "Last Name" oSheet.Range("B1").Value = "First Name" oSheet.Range("A1:B1").Font.Bold = True oSheet.Range("A2").Value = "Doe" oSheet.Range("B2").Value = "John"
'Save the Workbook and quit Excel. oBook.SaveAs("マイ ドキュメント\" & "Book1.xls") oSheet = Nothing oBook = Nothing oExcel.Quit() oExcel = Nothing GC.Collect()
----------------------------------------------------------------------------------
|
|