[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/02(Tue) 13:20
投稿者名:初心者
Eメール:
URL :
タイトル:
Excel のタスクを正常に終了できない
Excel のタスクを正常に終了できない現象を参照しましたがわかりません
VBからエクセルのグラフの軸の書式設定の方向を変更したいのですが
いろいろ試したのですが解決しません
どなたか教えてください。

ActiveSheet.ChartObjects("グラフ 1").Activate
ActiveChart.Axes(xlCategory).Select
With Selection.TickLabels
    .Alignment = xlCenter
    .Offset = 100
    .Orientation = 90
End With

投稿時間:2004/11/02(Tue) 13:41
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: Excel のタスクを正常に終了できない
たとえば、
  Set X1 = CreateObject("Excel.Application")
  Set X2 = CreateObject("Excel.Application")
のように、Excelを複数起動している状況を思い浮かべて見てください。

その場合、ActiveSheet などを使って、
> ActiveSheet.ChartObjects("グラフ 1").Activate
のようなコードを書いてしまうと、「どちらのExcel上のシートなのか」が、VBには判りませんよね。
Selectionでも同様です。「どのExcel上のどのブック上の選択範囲」なのかが曖昧になります。


Excel VBAの場合は、「自分自身」が持っているシートである事が明確なので、
上位のオブジェクト(ApplicationやWorkbookなど)の記述を省略できますが、
外部から制御する時は、省略できないのです。(Excelの起動数が1個であっても同様です)

上位オブジェクトの記述を省略しても、(参照設定を行っていれば)エラーにはなりませんが、
省略してしまうと、暗黙のうちに、Excelへの参照が内部で生成されてしまうため、
そのオブジェクトを、プログラムから解放できず、終了しない要因となります。


hhttp://www.bcap.co.jp/hanafusa/index.html の左側から、
[Excel & Word関係] を開き、先頭2項目にある
   『VBからExcel及びWordを操作する時の注意事項』
   『Excel のタスクを正常に終了できない現象』
を再読してみてください。

投稿時間:2004/11/02(Tue) 15:50
投稿者名:初心者
Eメール:
URL :
タイトル:
Excel のタスクを正常に終了できない
解決です ありがとうございました。