- ベストアンサー
エクセルのコメントの引き出し線の位置
お世話になります。 コメントがたくさんついているエクセルファイルがあるのですが、 なぜか引き出し線の位置がばらばらです。 普通に作成すると、コメント欄の左上から引き出し線がでると思いますが、 このファイルはコメント欄の四隅や、各辺の中央から引き出し線が出ており、 統一されていません。 これをVBAで左上に統一したいのですが、コマンドが判りません。 .adjustments.item は吹き出しのみ対象なのでしょうか、 エラーが出てうまくいきませんでした。 ご存知の方がいらっしゃいましたらよろしくお願いします。
- みんなの回答 (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
その他の回答 (2)
- ap_2
- ベストアンサー率64% (70/109)
ぁぁ、図形変更がありましたね。失礼しました。 [図形描画ツールバー>オートシェイプの変更]を使うと、引き出し線が図形の中心から出るようになります。矩形に戻してもそのまま。ソレっぽいパラメータは無いようで、ちょっとお手上げ。直りません。。。 やはり、コメント作り直すしか・・・書式写すの面倒ですけど。 サンプルコードあった方がいいかな、、 http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.comment_members(v=office.11).aspx
お礼
度々ご回答ありがとうございます。 やはり無理なんですね。 やな予感が当たってしまったようです。 普通にセルのコピー → コメントの貼り付けでも 同じコメントが作成されるので、 一つ一つ内容をコピーして作り直す必要がありそうです。 とにかく、解決の糸口が見つかって助かりました。
- ap_2
- ベストアンサー率64% (70/109)
コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな? .adjustments.item は吹き出し用です。 図形タイプによって操作方法が変わります。複数タイプ混在してる場合、統一するには図形の差し替え(作り直し)が必要になりますよ。 区別が曖昧なよーなので、まずはどんな図形が含まれているのか、よく確認した方がよさそうですね。。
お礼
ご回答ありがとうございます。 〉コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。 〉中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな? ご指摘の件ですが、エクセルの2003を使用していますが、 セルの右上が赤三角の表示で、コメントの表示非表示で切り替わるので、 コメントで間違いないと思われます。 でも見るからに中央から出ている感じです。 どうやら、行列の挿入やセル幅の変更、フィルター表示等で コメントの位置がずれてしまったので、VBAでコメントの位置やサイズ、フォント書式を 一括変更したところ、引き出し線の位置も変わったようです。 ただ、そのVBAには引き出し線の位置を変更するようなコマンドはなかったです。 お気づきの点がございましたら、よろしくお願いいたします。
お礼
マイナーそうなコメントの編集にも関わらず、 プログラムまで作成頂き誠にありがとうございます。 最近勉強し始めたところなので、厄介そうだと思っていたところでした。 これで理解を深めていきたいと思います。