Excel2007マクロで図形操作ができなくなった理由と代替方法について

このQ&Aのポイント
  • Excel2007ではマクロの記録で図形操作が無視されます。以前のバージョンのエクセルVBAで得たコードを移植すれば図形描画をマクロで行うことが可能なのですが、わずらわしいです。
  • なぜ図形操作をマクロ記録できなくなったのかその経緯をご存知の方教えてください。セキュリティ上の対策なのか、ニーズがないと判断されてしまったのか、XMLとしての保存形式上の問題なのか、なぜなのでしょう?
  • また、手軽に図形をプログラムで描画するのに便利な方法はないでしょうか。20年前のBASICの機能で十分なのですが、Excelシートにマクロで簡単に図形が描けなくなって困っています。
回答を見る
  • ベストアンサー

excel2007 ではマクロの記録で 図形操作が無視されます

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

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.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:download.microsoft.com/download/e/f/9/ef977b5f-3f45-47b7-beb4-475f5d49ed93/2007OfficCompatibility_20070730.doc 上記辺りのページになるのでしょうか。 他のバージョンを持っている方は、そちらで記録して応用する事ができるからいいでしょうけど、 2007しか持ってない方は、ちょっと不便ですね。 他のレスでアドバイスした事があるのは、 Dim sp As Shape sp. ...などとし、表示される[プロパティ/メソッドの一覧]を参考に、ヘルプやオブジェクトブラウザを駆使してコーディングしていく...的な事を書いた事はあります。 >また、手軽に図形をプログラムで描画するのに 'Left,Top,Width,Height ActiveSheet.Lines.Add 0, 0, 100, 100 こんな感じの事でしょうか。

yamutya
質問者

お礼

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

関連するQ&A

  • Excel2007 [図形]マクロ記録

    Excel2007で次の手順で「雲形吹き出し」をマクロ記録したのですが記録されない!?、 Excel2000なら記録できました。 [挿入]⇒[図形]⇒[雲形吹き出し] 質問:Excel2007で記録するための方法をご教授お願いいたします。

  • セル操作を記録するマクロを作りたい

    ご覧になっていただきありがとうございますm(._.)m セルの操作を自動で記録してくれるマクロを組みたいのですが、 (エクセルの「マクロの記録」ボタンのようなものです) その組み方が分からずとても困っています。 セルの操作を随時読み取ってそれを記録する、 そんなマクロの組み方を知っていたら教えていただけませんか?

  • Excel2007 マクロが記録されない

    Excel2007を使用しています。 Excelのオプション画面から、[開発]タブをリボンに表示するに チェックを入れています。 そこで質問です。 [開発]タブを選んで[マクロの記録]ボタンを押して 図形を貼り付け、文字色や配置を変更して、 [記録終了]ボタンを押下したのですが、何も記録されません。 OffceXPのときには、シェイプを張り付けるマクロや、 文字の色を変更するシェイプが記録されていたのですが。。。 何か設定が必要なのでしょうか? もし何か必要な手順がございましたら、教えて頂けませんか? よろしくお願いいたします。

  • マクロの記録について

    マクロの記録について PCを買い替えてwindowsXPからVistaになりました。以前Excelでマクロ記録する場合、図形などクリックして移動させたりするとそのまま記録されていましたが、今はできなくなりました。XPの時のように記述しなくてもできるようにならないでしょうか。

  • Excel2010のマクロの記録について

    Windows 7でExcel2010を使用しています。 マクロの記録ボタンを押して、マクロの保存先を「個人用マクロブック」とすると 「起動フォルダーにある個人用マクロブックは、記録のために開かれた状態でなければなりません」 と出てきます。 色々検索をして調べてみました。 すると、ヘルプの中で「使用できないアイテム」を確認しましたか? という意見が圧倒的に多かったのですが、Excel2010のヘルプにはそんな物はありませんでした。 そこで、Alt+F11でVBAをあけてみて、左側のプロジェクト一覧を見たら、 atpvban.xls(ATPVBAEN.XLAM) VBAProject(Book1) VBAProject(FUNCRES.XLAM) があり、 Excel2007にあった VBAProject(PERSONAL.XLSB) がありません。 検索によるとPersonal.xlsbが必要なのかどうかわかりませんが、Excel2007にはそれがあり、記録もできました。 いったい、何が起こっているのかさっぱり分かりません。 個人的には、いつも「個人用マクロブック」が使えて、マクロの記録がどのファイルでもできたらよいと思っています。 どうすればよい顔してください。 よろしくお願いいたします。

  • Excel2003でマクロ操作教えてください。

    マクロ初心者です。 Excel2003でのマクロ操作でどう記録すればいいのかアドバイスお願いいします。 図面を添付します(Ver2007なのは無視してください) 入金完了者の受付番号(1~4)をクリックしてマクロを実行すると入金状況欄 に [入金] と赤字の文字が入力され、また同時に 入金日欄 に本日の日付が 自動的に入るようにマクロを記録させたいのですが どうマクロをくめばいいのでしょうか? 具体的な手順アドバイスお願いします

  • Excel2003 マクロのR1C1記録

    基礎的な質問で恐縮ですが、マクロで記録すると普段良く見るA1というような記録ではなくR1C1という記録になってしまうのですが、これは「仕様」なのでしょうか? マクロ初心者なのですが、このような基本の決まりを理解するためにわかりやすいHPや本があれば教えてください。 「できるExcel VBA2003」は読んで一通り手順はわかったのですが、わからないことが多くて困っています。よろしくご指導ください。

  • エクセル vba クリック~離した位置へ直線の挿入

    エクセル vba クリック~離した位置へ直線の挿入 エクセルの図形挿入の、左クリックした位置(x1,y1)から始まり、離した位置(x2,y2)で終わる『直線』のようなマクロをご教示頂けないでしょうか? マクロの記録では何も出てきません。。。 それを応用してCADの寸法線のような絵を描くマクロを作成したく考えております。 どなたか宜しくお願い致します。

  • エクセルのマクロの操作を記録するについて教えて下さい。

    エクセルのマクロの操作を記録するについて教えて下さい。 マクロ・VBAを勉強しはじめた超初心者です。 毎日、CSVの新しいデータを取得します。 その中で、列の並び変えや文字の太さ、ここは¥マークをつけたい など編集したい事があるのですが、 それを毎日していると時間がかかってしまうので自動化したいので マクロというものを知りました。 実際に、新しいCSVファイルを開いて、 マクロの記憶→上記の編集操作→マクロ記憶終了→保存 とすると、行った動作ではなく、 今現に表示されているCSVの文字データも記憶されてしまいますよね?? 行った動作(列の並び変えや書式変更、関数入力)という行動”だけ”を 自動化するにはどうしたら良いのでしょうか? 毎日取得するCSVデータは 列の項目は一緒ですが、その中で数字や住所が違うデータです。 分かりにくい文章で申し訳ありませんが よろしくお願い致します。

  • 【エクセル】 郵便番号ウィザードの立ち上げ→操作 はマクロの記録ができないのでしょうか?

    いつもお世話になってます。 私はマクロについてそんなに知識がありませんので、「マクロの記録」で下地を書いて手直ししてVBAを作ってます。 郵便番号変換のアドインをエクセルに追加したのですが、 「マクロの記録」をONにして、ウィザードを立ち上げで、住所から郵便番号へ変換してウィザード終了しても、ウィザードの記述は行われません。 ウィザード操作はマクロの記録はできないのでしょうか? だいたいどのような記述になるのか、お手数でなければ教えてください。 よろしくお願いします。

専門家に質問してみよう