dポイントプレゼントキャンペーン実施中!

excel2007 ではマクロの記録で 図形操作が無視されます
以前のバージョンのエクセルVBAで得たコードを移植すれば図形描画をマクロで行うことが可能なのですが、わずらわしいです。簡単に図形描画マクロが組めて大変重宝していたのですが残念です。
なぜ、図形操作をマクロ記録できなくなったのかその経緯をご存知の方 教えてください。セキュリティ上の対策なのか、ニーズがないと判断されてしまったのか、XMLとしての保存形式上の問題なのか、なぜなのでしょう?
また、手軽に図形をプログラムで描画するのに便利な方法はないでしょうか。20年前のBASICの機能で十分なのですが・・・line(x1,y1)-line(x2,y2)なんて感じで描画したいのですが。excelシートにマクロで簡単に図形が描けなくなって困っています。

A 回答 (1件)

2010からは復活してますので


>セキュリティ上の対策なのか、ニーズがないと判断されてしまったのか...
という事はないと思われます。
単に開発が間に合わなかったんじゃないかと思いますけど、とか書いちゃったら怒られそうなんでツッこみたくないですけど:P
いくつかのExcel系Q&A板でユーザーからの不満が噴出してたのは事実です。

公式な文書らしきものとしては
「Excel 2007 新しい図形と図形書式と図形の効果を記録することができません。」
http://support.microsoft.com/kb/937620/ja
「the 2007 Microsoft Office system ― マクロの互換性について」
http://72.14.235.104/search?q=cache:Hn3ICeCoolsJ …
上記辺りのページになるのでしょうか。

他のバージョンを持っている方は、そちらで記録して応用する事ができるからいいでしょうけど、
2007しか持ってない方は、ちょっと不便ですね。
他のレスでアドバイスした事があるのは、

Dim sp As Shape
sp.

...などとし、表示される[プロパティ/メソッドの一覧]を参考に、ヘルプやオブジェクトブラウザを駆使してコーディングしていく...的な事を書いた事はあります。


>また、手軽に図形をプログラムで描画するのに
'Left,Top,Width,Height
ActiveSheet.Lines.Add 0, 0, 100, 100
こんな感じの事でしょうか。
    • good
    • 0
この回答へのお礼

2010から復活していると知り、うれしく思います。
てっきり図形描画をofficeVBAから排除していく方向性の一端だと
思っていました。
プロパティ/メソッド での図形指定になってから
覚えることを完全に拒絶して、マクロ記録に頼り切っていましたが、
ご指摘の通り
ActiveSheet.Lines.Add 0, 0, 100, 100
だけでも記憶しておけば
自由に描けそうです
的確なご回答に感謝いたします。m(_ _)m

お礼日時:2010/10/07 03:11

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