• ベストアンサー

エクセルのコメントの引き出し線の位置

お世話になります。 コメントがたくさんついているエクセルファイルがあるのですが、 なぜか引き出し線の位置がばらばらです。 普通に作成すると、コメント欄の左上から引き出し線がでると思いますが、 このファイルはコメント欄の四隅や、各辺の中央から引き出し線が出ており、 統一されていません。 これをVBAで左上に統一したいのですが、コマンドが判りません。 .adjustments.item は吹き出しのみ対象なのでしょうか、 エラーが出てうまくいきませんでした。 ご存知の方がいらっしゃいましたらよろしくお願いします。

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

  • ベストアンサー
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.3

てきとーに書いてみたので、参考になれば。書式コピーは最小限なので、必要に応じて追加してください。 ※注意:コメントは、CommentがShapeを操作する形で、2オブジェクトで構成されてます。Shape削除すると壊れるので、削除はCommentの方で。 'シート内のコメントを全て作り直し For Each c In ActiveSheet.Comments Set rng = c.Parent 'セルを取得 v = c.Visible txt = c.Shape.TextFrame.Characters.Caption 'c.Textでもいい x = c.Shape.Left y = c.Shape.Top h = c.Shape.Height w = c.Shape.Width With c.Shape.TextFrame '書式  imax = .Characters.Count  ReDim a(1 To imax, 1 To 10)  For i = 1 To imax    Set z = .Characters(i, 1).Font    a(i, 1) = .Characters(i, 1).Font.Size    a(i, 2) = .Characters(i, 1).Font.ColorIndex    a(i, 3) = .Characters(i, 1).Font.Bold    a(i, 4) = .Characters(i, 1).Font.Italic  Next End With c.Delete 'コメント削除 Set c = rng.AddComment(txt) '追加 c.Visible = v c.Shape.Left = x c.Shape.Top = y c.Shape.Height = h c.Shape.Width = w With c.Shape.TextFrame '書式  For i = 1 To imax   Set z = .Characters(i, 1).Font   .Characters(i, 1).Font.Size = a(i, 1)   .Characters(i, 1).Font.ColorIndex = IIf(a(i, 2) = 74,xlAutomatic, a(i, 2))   .Characters(i, 1).Font.Bold = a(i, 3)   .Characters(i, 1).Font.Italic = a(i, 4)  Next End With Next

dilemma03
質問者

お礼

マイナーそうなコメントの編集にも関わらず、 プログラムまで作成頂き誠にありがとうございます。 最近勉強し始めたところなので、厄介そうだと思っていたところでした。 これで理解を深めていきたいと思います。

その他の回答 (2)

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.2

ぁぁ、図形変更がありましたね。失礼しました。 [図形描画ツールバー>オートシェイプの変更]を使うと、引き出し線が図形の中心から出るようになります。矩形に戻してもそのまま。ソレっぽいパラメータは無いようで、ちょっとお手上げ。直りません。。。 やはり、コメント作り直すしか・・・書式写すの面倒ですけど。 サンプルコードあった方がいいかな、、 http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.comment_members(v=office.11).aspx

dilemma03
質問者

お礼

度々ご回答ありがとうございます。 やはり無理なんですね。 やな予感が当たってしまったようです。 普通にセルのコピー → コメントの貼り付けでも 同じコメントが作成されるので、 一つ一つ内容をコピーして作り直す必要がありそうです。 とにかく、解決の糸口が見つかって助かりました。

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな? .adjustments.item は吹き出し用です。 図形タイプによって操作方法が変わります。複数タイプ混在してる場合、統一するには図形の差し替え(作り直し)が必要になりますよ。 区別が曖昧なよーなので、まずはどんな図形が含まれているのか、よく確認した方がよさそうですね。。

dilemma03
質問者

お礼

ご回答ありがとうございます。 〉コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。 〉中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな?  ご指摘の件ですが、エクセルの2003を使用していますが、  セルの右上が赤三角の表示で、コメントの表示非表示で切り替わるので、  コメントで間違いないと思われます。  でも見るからに中央から出ている感じです。  どうやら、行列の挿入やセル幅の変更、フィルター表示等で  コメントの位置がずれてしまったので、VBAでコメントの位置やサイズ、フォント書式を  一括変更したところ、引き出し線の位置も変わったようです。  ただ、そのVBAには引き出し線の位置を変更するようなコマンドはなかったです。 お気づきの点がございましたら、よろしくお願いいたします。

関連するQ&A