仕事で、VBでDBから取得した値を配列に設定し、それをEXCELで帳票として出力したいのですが、やり方が分かりません。ご存知の方がいましたら、教えていただけますか。
VBからCopyFromRecordsetでRecordsetをEXCELのrangeで出力する方法は見つけたのですが、Recordsetそのままではなく、動的配列に並び替えてEXCELに出力したいと思っています。
EXCELのシートをテーブルと見立てて、SQL文でEXCELにInsertする方法もある聞いたのですが、実際にどのように命令を書けばいいのか分かりません。
ご存知の方、教えていただけますか。
No.1ベストアンサー
- 回答日時:
1.レスキュー花ちゃんのサイトを参考にしてます。
2.ソート等はcells操作をしてください。
3.VB.NETで動作確認してますがVB6は少し訂正の要
ありです。
'------配列設定-----
Dim app As Object 'エクセルアプリケーションの定義
Dim book As Object 'ブックの定義
Dim sheet As Object 'シートの定義
'各セルの値を取得
Dim filepath As String = "C:\Temp.xls"
Dim j As Integer
'------エクセルファイルを開く&表示-------
app = CreateObject("Excel.Application")
app.application.visible = True
book = app.Workbooks.Open(filepath) 'エクセルファイルのopen
sheet = book.Worksheets(1)
'-----エクセルデータの書き込み------
For i = 1 To 20 rem 適宜数値は変更してね
For j = 1 To rs.fields.count
sheet.cells(i, j).value = rs.fields(j - 1).value
Next
rs.MoveNext()
Next
app.DisplayAlerts = False '保存時の問合せのダイアログを非表示に設定
sheet.SaveAs(filepath) 'ファイルに保存
app.DisplayAlerts = True '元に戻す
MRComObject(sheet) 'xlSheet の開放
REM xlSheets(の開放)
book.Close(False) 'xlBook を閉じる
MRComObject(book) 'xlBook の開放
'xlBooks の開放
app.Quit() 'Excelを閉じる
MRComObject(app) 'xlApp を開放
End Sub
Private Sub MRComObject(ByRef objCom As Object)
'COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する
Try
'提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします
System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
Catch
Finally
'参照を解除する
objCom = Nothing
End Try
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) Power Query でのデータの一括修正について 2 2022/05/10 02:00
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelで文字列にランダムに記号を入れる事は出来ますか⁇Excelで作っている名簿リストをプリント 8 2022/09/14 08:11
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
VB.NETの配列にExcelから読み込んできたデータを格納したい
Visual Basic(VBA)
-
VBの処理結果をEXCELシートへ出力したい
Visual Basic(VBA)
-
【VB】コンボボックスにデータベースから取り出した値を入れたい
Visual Basic(VBA)
-
-
4
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
5
SQLでの変数の扱いについて
その他(データベース)
-
6
VBからExcelのセルの書式設定を変更する
Visual Basic(VBA)
-
7
vb.netによるEXCEL値取得
Microsoft ASP
-
8
エクセルの列一括書き込み
Visual Basic(VBA)
-
9
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
10
VB.NETでEXCELファイルを開き、保存先をデフォルトで指定したい。
Visual Basic(VBA)
-
11
【VB.NET】Excelの最終行までの取得方法
Microsoft ASP
-
12
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.NET 文字コードの変換
-
配列のペースト出力結果の書式...
-
グラフの「項目軸ラベルに使用...
-
C#,繰り返し処理での最大値の取...
-
エクセルで異なる数字を同系の...
-
構造体配列の特定のメンバーをF...
-
ExcelVBAでデータを一括してセ...
-
C言語 ポインタと配列
-
VBA 変数名に変数を使用したい。
-
定数配列の書き方
-
WORD VBA プログラム修正をお願...
-
クリスタルレポートで困ってい...
-
StretchBltを使ったミラーリング
-
AccessリンクテーブルFields.Co...
-
sscanfの16進出力の逆処理
-
ダイナセットタイプのレコード...
-
ウェブ内容をshift-jis変換する...
-
補数について教えてください!
-
VBAコンボボックスの内容が反映...
-
[ASP+SQLsrv]データベース内の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
Excel2010のinputboxで複数デー...
-
エクセルでXY座標に並べられた...
-
構造体配列の特定のメンバーをF...
-
定数配列の書き方
-
コンボボックスのインデックス...
-
OutOfMemoryExceptionの回避策...
-
Dir関数で読み取り順を操作でき...
-
CheckBoxの配列化
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
Redim とEraseの違いは?
-
VBAで配列引数を値渡しできない...
-
2次元配列の初期値
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
VB6からの移行したいけど、VB.N...
-
VB6のメモリ解放に関して
おすすめ情報