C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 29 を表示中)
■13803 / )  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()

----------------------------------------------------------------------------------

返信 編集キー/


管理者用

- Child Tree -