タイトル : Re^2: Excel処理の繰り返しでNG 投稿日 : 2010/02/12(Fri) 10:36 投稿者 : ぽよ〜ん
魔界の仮面弁士様、素早い回答有り難う御座いました。 > > Set xlApp = CreateObject("Excel.Application") > 参照設定している場合は、 > Set xlApp = New Excel.Application > と書けますよ。 参考になります。元ソースは変更致しました。 > .Rows("10:10").Select '行を選択 > > With Selection 'コピーして下へ > ここが NG。 > ここで「Selection」と書いていますが、対象オブジェクトが指定されていません。 > どのオブジェクトの Selection プロパティなのか、親オブジェクトを明記しましょう。 > 親オブジェクトが指定されなかった場合、暗黙の Excel インスタンスが > グローバル オブジェクトとして参照される事になります。Excel VBA であれば、 > 「自分自身」を操作するだけなので問題はありませんが、外部(VB6 等)から > 操作する場合には、親オブジェクトを必ず指定する必要があります。 Excelから取得したマクロの記録ソースを元に作っていったのですが、言われる通りです。 とても分かりやすく説明して頂き、感謝致します。 今までのソースでデバッグを繰り返していると、システムが不安定になっていたのも 頷けます。元ソースを次のように変更してみました。 With xlSheet .Activate For i = 1 To 5 With .Range("10:10") .Select '行を選択 .Copy .Insert Shift:=xlDown End With Next ' 下線を二重線で引く .Range("B15:E15").Select With .Range("B15:E15").Borders(xlEdgeBottom) .LineStyle = xlDouble .Weight = xlThick .ColorIndex = xlAutomatic End With End With 何回かプログラムをループさせながら動作してみましたが、目的の処理は 行われているようです。書き方が正しいかどうかは不安ですが。 有り難う御座いました。今後も宜しくお願い致します。 |