- ベストアンサー
Excel2007 マクロが記録されない
Excel2007を使用しています。 Excelのオプション画面から、[開発]タブをリボンに表示するに チェックを入れています。 そこで質問です。 [開発]タブを選んで[マクロの記録]ボタンを押して 図形を貼り付け、文字色や配置を変更して、 [記録終了]ボタンを押下したのですが、何も記録されません。 OffceXPのときには、シェイプを張り付けるマクロや、 文字の色を変更するシェイプが記録されていたのですが。。。 何か設定が必要なのでしょうか? もし何か必要な手順がございましたら、教えて頂けませんか? よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Excel2007では、図形オブジェクトの操作はマクロに記録されなくなりました。 『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 Shapes については機能が色々と強化されたようですので、そのせいかもしれませんが、 マクロ記録できないのはちょっと不便ですね。 以前のバージョンを持っている方は、そちらで記録して参考にする事ができますが 2007しか持ってない方は、例えば Dim sp As Shape sp. ...などとし、表示される[プロパティ/メソッドの一覧]を参考に、 ヘルプやオブジェクトブラウザを駆使してコーディングしていく事になるようです。 他に、テキストボックス程度に限っての話ですが、 ビギナーの方の場合、【代替的に】フォームコントロールの操作を記録して、 それを参考にすると良いかもしれません。 [開発]タブの[コントロール]-[挿入]にある[フォームコントロール]です。 Sub Macro1() ' ' Macro1 Macro ' ' ActiveSheet.Buttons.Add(51.75, 28.5, 93, 25.5).Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .ReadingOrder = xlContext .Orientation = xlHorizontal .AutoSize = True .AddIndent = False End With Selection.ShapeRange.LockAspectRatio = msoFalse Selection.ShapeRange.Height = 28.5 Selection.ShapeRange.Width = 105# With Selection .Locked = False .LockedText = False End With With Selection .Placement = xlFreeFloating .PrintObject = True End With Selection.ShapeRange.TextFrame.MarginLeft = 7.09 Selection.ShapeRange.TextFrame.MarginRight = 7.09 Selection.ShapeRange.TextFrame.MarginTop = 3.69 Selection.ShapeRange.TextFrame.MarginBottom = 3.69 Selection.ShapeRange.AlternativeText = "a" Selection.Characters.Text = "ボタン 1" With Selection.Characters(Start:=1, Length:=5).Font .Name = "MS Pゴシック" .FontStyle = "標準" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ThemeColor = 2 '※ .TintAndShade = 0 '※ .ThemeFont = xlThemeFontNone '※ End With End Sub こんな感じで記録されますので、 ActiveSheet.Buttons.Add(......を ActiveSheet.TextBoxes.Add(......などのように修正したりする事で、雰囲気くらいは掴めるかもしれません。 #記録コードそのものなので、そのままではエラーになるプロパティもあります。(※)
お礼
記録できなくなったのですね。 とても残念ですね。 ご回答ありがとうございます。 とてもたすかりました。