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

お世話になります。

コメントがたくさんついているエクセルファイルがあるのですが、
なぜか引き出し線の位置がばらばらです。

普通に作成すると、コメント欄の左上から引き出し線がでると思いますが、
このファイルはコメント欄の四隅や、各辺の中央から引き出し線が出ており、
統一されていません。

これをVBAで左上に統一したいのですが、コマンドが判りません。

.adjustments.item は吹き出しのみ対象なのでしょうか、
エラーが出てうまくいきませんでした。

ご存知の方がいらっしゃいましたらよろしくお願いします。

A 回答 (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
    • good
    • 0
この回答へのお礼

マイナーそうなコメントの編集にも関わらず、
プログラムまで作成頂き誠にありがとうございます。

最近勉強し始めたところなので、厄介そうだと思っていたところでした。
これで理解を深めていきたいと思います。

お礼日時:2013/02/20 21:01

ぁぁ、図形変更がありましたね。

失礼しました。

[図形描画ツールバー>オートシェイプの変更]を使うと、引き出し線が図形の中心から出るようになります。矩形に戻してもそのまま。ソレっぽいパラメータは無いようで、ちょっとお手上げ。直りません。。。

やはり、コメント作り直すしか・・・書式写すの面倒ですけど。
サンプルコードあった方がいいかな、、

http://msdn.microsoft.com/ja-jp/library/microsof …
    • good
    • 0
この回答へのお礼

度々ご回答ありがとうございます。

やはり無理なんですね。
やな予感が当たってしまったようです。

普通にセルのコピー → コメントの貼り付けでも
同じコメントが作成されるので、
一つ一つ内容をコピーして作り直す必要がありそうです。

とにかく、解決の糸口が見つかって助かりました。

お礼日時:2013/02/19 23:44

コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。

中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな?

.adjustments.item は吹き出し用です。
図形タイプによって操作方法が変わります。複数タイプ混在してる場合、統一するには図形の差し替え(作り直し)が必要になりますよ。

区別が曖昧なよーなので、まずはどんな図形が含まれているのか、よく確認した方がよさそうですね。。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

〉コメントの引き出し線は「コメントが挿入されているセルの右上」に近い四隅から伸びます。
〉中央からは出ないので、吹き出しか、四角+矢印か・・・。混在してるのかな?

 ご指摘の件ですが、エクセルの2003を使用していますが、
 セルの右上が赤三角の表示で、コメントの表示非表示で切り替わるので、
 コメントで間違いないと思われます。
 でも見るからに中央から出ている感じです。


 どうやら、行列の挿入やセル幅の変更、フィルター表示等で
 コメントの位置がずれてしまったので、VBAでコメントの位置やサイズ、フォント書式を
 一括変更したところ、引き出し線の位置も変わったようです。
 ただ、そのVBAには引き出し線の位置を変更するようなコマンドはなかったです。

お気づきの点がございましたら、よろしくお願いいたします。

お礼日時:2013/02/18 22:45

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A