[[20070510130341]] 『コメントで写真』(day) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

 『コメントで写真』(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.