|
▼VBA初心者 さん:
こんにちは。
> 「xlsWkb.SaveAs xlsFileName, FileFormat:=56」としたら問題なくできました。
まずは解決されまして何よりです。
> また、下記のコードの意味が曖昧です。
Excel の CopyFromRecordset メソッドは
データ行のみの書き出しで見出し行がつきません。
>> .Range("A2").CopyFromRecordset RS
という事でデータは
セル:A2を始点として書き出しております。
>>> strSQL = strSQL & " SELECT 登録日 "
>>> strSQL = strSQL & " , QH_COMM AS 事業所 "
>>> strSQL = strSQL & " , NEW_HOSTNAME AS 新PC名 "
>>> strSQL = strSQL & " , QH_IPADR AS IPアドレス "
>>> strSQL = strSQL & " , MEMO2 AS メモ1 "
>>> strSQL = strSQL & " , MEMO3 AS メモ2 "
>>> strSQL = strSQL & " , MEMO4 As メモ3 "
>>> strSQL = strSQL & " , MEMO5 As 事項 "
>>> strSQL = strSQL & " FROM " & Me.RecordSource & " "
>>> strSQL = strSQL & " WHERE " & strWhere
>> For i = 0 To RS.Fields.Count - 1
>> .Range("A1").Offset(0, i).Value = RS.Fields(i).Name
>> Next i
上記コードは
Recordset オブジェクトに格納されたデータの項目を総なめして
セル:A1を基準にColumn方向にずらしながら
見出し行の書き出しを行っています。
RS.Fields(0).Name = 登録日
RS.Fields(1).Name = 事業所
RS.Fields(2).Name = 新PC名
・
・
という感じですね。
> 表示だけはしていたのですが、使いこなせてなく宝の持ち腐れでした。
プログラムが完成してしまえば必要ないのですが、
開発中は何かと頼りになるウィンドウですね。
For i = 0 To RS.Fields.Count - 1
.Range("A1").Offset(0, i).Value = RS.Fields(i).Name
Debug.Print RS.Fields(i).Name
Next i
の様に記述してあげる事で
変数の中身などをイミディエイトウィンドウに書き出す事ができます。
ExcelVBAの例ですが
以下のサイトが参考になるかもしれません。
Excelでお仕事
デバッグトレースの開始方法
h tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
|
|