アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、会社の端末がOffice2010と2003が混在している状態にあります。今のところ2003で作成されたファイルがほとんどです。
そこで問題が出てきたのですが、2003で作成したBookに埋め込みグラフとそれを操作するVBAがあり、そのVBAを2010のインストールされた端末で実行するとエラーが出てしまいます。コードは以下の通りです。
エラーの内容は、「'MinimumScale'メソッドは失敗しました: 'Axis'オブジェクト」 となります。Withの中すべてで同様のエラーが出ます。



With ActiveChart.Axes(xlValue)
.MinimumScale = 0
.MaximumScale = Data '事前に計算した値
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With




理由がよくわからなかったので、2010で同様のグラフを作成し、上記の操作をマクロに記録したところ、同様のコードが記録されました。
グラフ自体が2003と2010では違うものなのでしょうか?
解決方法がありましたら教えていただきたいです。

A 回答 (2件)

原因はおそらくシート保護がかかっているからでしょう。


「オブジェクトの編集」可能でシート保護していたとしても、
2007以降でのマクロによる図形操作がエラーになるケースがあります。
2003では問題ありませんし、手動ではエラーにならない事もあります。
http://oshiete.goo.ne.jp/qa/6933635.html?order=asc

解決策としては、グラフ操作マクロ内でUnprotect/Protectメソッドを使ってシート保護を制御すれば良いです。
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ありません。
ご指摘の通りにしたところうまくいきました。

いろいろ調べてもわからなかったのであきらめていましたが、
解決いたしました。

ありがとうございました。

お礼日時:2012/09/21 16:14

 2002(XP)版で作成したもの、2010版で作成したもの


どちらでも何の問題もなく実行できます。

 新規作成のグラフでなく、問題のグラフで軸を操作しながら「マクロの記録」をしてみれば何かわかるのではありませんか?

昔2007版が出て当分の間は
古い版で作成したオブジェクトがみんな図になってしまったり
オブジェクトの座標の数値がそのままではまったく使えなくなったりしていましたが
何年かするうちにうまく変換されるようになってきました。



 
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
元のグラフに対しての操作を記録したところ、同様のものでした。そしてそれをそのまま実行したところ同じエラーで止まってしまいました。
やはりダメなようです。

お礼日時:2012/08/22 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!