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

Excel2007を使用しています。
Excelのオプション画面から、[開発]タブをリボンに表示するに
チェックを入れています。

そこで質問です。
[開発]タブを選んで[マクロの記録]ボタンを押して
図形を貼り付け、文字色や配置を変更して、
[記録終了]ボタンを押下したのですが、何も記録されません。
OffceXPのときには、シェイプを張り付けるマクロや、
文字の色を変更するシェイプが記録されていたのですが。。。
何か設定が必要なのでしょうか?

もし何か必要な手順がございましたら、教えて頂けませんか?
よろしくお願いいたします。

A 回答 (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 …

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(......などのように修正したりする事で、雰囲気くらいは掴めるかもしれません。

#記録コードそのものなので、そのままではエラーになるプロパティもあります。(※)
    • good
    • 0
この回答へのお礼

記録できなくなったのですね。
とても残念ですね。

ご回答ありがとうございます。
とてもたすかりました。

お礼日時:2008/09/16 13:43

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