|
小僧 さん
質問の仕方が抽象的でした。
申し訳ございません。
>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
とフォームプロシージャに記載して、「イミディエイト」に
「? RS.Fields(i).Name」と記述してEnterを押すと
「実行時エラー'424'オブジェクトが必要です。」と表示され
てしまい、構文中での変数のイミディエイトウィンドウ
の使い方がわかりません。
フォームプロシージャだから利用できないのでしょうか?
ただ、「? acSpreadsheetTypeExcel8」のように定数を調べる
場合は「8」と表示されます。
お手数ですが、ご教授をよろしくお願いします。
>▼小僧 さん:
> こんにちわ。
>VBA初心者です。
>いろいろご教授有難うございます。
>
>>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
>>
>>の様に記述してあげる事で
>>変数の中身などをイミディエイトウィンドウに書き出す事ができます。
>
>を試したのですが、何も起こりません。手順としては、「Debug.Print RS.Fields(i).Name」
>のiに0や1や2を入力してみたのですが何も起こりません。
> やり方が間違っているように思われるのですが、何が間違っているのかがわかりません。
>
>ご面倒をお掛けして申し訳ございません。
>お時間のあるときご教授をお願いします。
>
>
>>▼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
|
|