[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コメントで写真』(day) いつもお世話になっています。この学校でコメントに写真を貼りつけを教えていただい たのですが、この操作をマクロでは出来ないでしょうか?
「コメントの枠線で右クリック[コメントの書式設定]・[色と線]・[色選択▼]で最終にあ る「塗りつぶし効果」 塗りつぶし効果の[図]をクリック、[図の選択]ボタンをクリック、ファイルを指定して [挿入]をクリック、Ok、OK これで、コメント内に写真が貼り付けられます。ハンドルで縦横の幅のバランス調整し ます。」
どのようなものか分かりませんが 「コメント」と仰られているのは「オートシェイプ」のことでしょうか…?
「画像 挿入 マクロ」で検索 https://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E7%94%BB%E5%83%8F%E3%80%80%E3%80%80%E6%8C%BF%E5%85%A5%E3%80%80%E3%80%80%E3%80%80%E3%83%9E%E3%82%AF%E3%83%AD&perpage=10&attr=&order=&clip=-1&navi=0
(Ohagi)
説明が良くなかったみたいですね。コメントはセルを右クリックで「コメント挿入」の ことです。 (day)
マクロの記録は試されましたか?
Range("A1").AddComment
Range("A1").Comment.Visible = False
Range("A1").Comment.Text Text:="miyahorinn:" & Chr(10) & ""
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
Selection.ShapeRange.Fill.BackColor.SchemeColor = 80
Selection.ShapeRange.Fill.UserPicture _
"C:\Documents and Settings\miyahorinn\My Documents\My Pictures\miyahorinn\miyahorinn.JPG"
Range("A1").Select
こんな風に記録されましたが。
(みやほりん)(-_∂)b
(みやほりん)(-_∂)bさん お早うございます。いつも楽しく拝見しております。 そうでしたね・・・マクロの記録がありましたね。これから試したいと思います。 いつも有難うございます。 (day)
マクロの記録をいろいろ試してみたのですが・・・・
Rrange("A1")→Range("A2")のように替えてみたのですが
アプリケーションエラー・オブジェクトエラーが出ます。
ご無理申しますが具体的にご指導頂けないでしょうか?
マイピクチャーのフォルダに写真は101,102,103・・・のように保存しております。
A B
1 101号 セルのコメントに写真
2 102号 セルのコメントに写真
(day)
サンプルとコーディングのポイント。
(仕様)
シート名Sheet1を想定。
画像フォルダを C:\Documents and Settings\Miyahorinn\My Documents\My Pictures と想定。
マイピクチャフォルダに101.jpg等の画像ファイル。A列は数値のみ入力、表示形式の
ユーザー定義で 0"号" などの設定で"号"を表示していることが前提。
A列に数値入力がある最終行までB列に画像ファイル添付のコメント挿入。
もし適当な画像ファイルが存在しない場合はコメントを挿入しない。
Sub TEST20070512a()
Dim myRng As Range, C As Range
On Error Resume Next
With Worksheets("Sheet1")
Set myRng = .Range("B:B").SpecialCells(xlCellTypeComments)
If Not myRng Is Nothing Then
For Each C In myRng
C.Comment.Delete
Next C
End If
Set myRng = .Range("A1").Resize(.Cells(.Rows.Count, 1).End(xlUp).Row)
End With
For Each C In myRng
With C.Offset(0, 1)
.AddComment
.Comment.Text Text:=""
.Comment.Shape.Fill.UserPicture _
"C:\Documents and Settings\Miyahorinn\My Documents\My Pictures\" & C.Value & ".JPG"
If Err.Number <> 0 Then
.Comment.Delete
End If
End With
Next C
On Error GoTo 0
Set myRng = Nothing
End Sub
(コードの説明)
B列の既存コメント挿入セルを取得、コメントをいったん削除。
A列の入力セル範囲取得。
A列の入力値から画像ファイル名を取得。
On Error Resume Next の対象となるエラーは
B列にコメントがない場合、A列の値から取得するファイル名が実在しない場合のみ想定。
.Comment.Shape.Fill.UserPicture の部分は記録マクロと異なる記述。
Selection.ShapeRange.Fill.では「実行時エラー オブジェクトはこのプロパティまた
はメソッドをサポートしていません」になる。
これは実行時にはSelectionがRangeオブジェクトとなるため。
(記録時にはCommentオブジェクトがSelectされているが、コード実行時には挿入したコ
メントをSelectできない)
デバッグの技術、helpを参考にコーディングできる知識がないと、このポイントは難し
い。
(みやほりん)(-_∂)b
(みやほりん)(-_∂)bさん こんにちは 今日は友人の結婚式のため時間がありません がやはり複雑みたいですね。帰ってゆっくり勉強したいと思います。取りあえずお礼申 し上げます。 day)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.