Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3341 / 13646 ツリー ←次へ | 前へ→

【62834】AutoOpenメソッドで1回目のみ画像挿入 Pちゃん 09/9/8(火) 13:24 質問[未読]
【62837】Re:AutoOpenメソッドで1回目のみ画像挿入 つるりん 09/9/8(火) 13:50 回答[未読]
【62839】Re:AutoOpenメソッドで1回目のみ画像挿入 つるりん 09/9/8(火) 13:55 回答[未読]
【62848】Re:AutoOpenメソッドで1回目のみ画像挿入 Pちゃん 09/9/8(火) 19:52 お礼[未読]

【62834】AutoOpenメソッドで1回目のみ画像挿入
質問  Pちゃん  - 09/9/8(火) 13:24 -

引用なし
パスワード
   先日はお世話になりました。

今回はAutoOpenメソッドを使用していくつか処理をしています。
その中で毎回処理が走って良いものと
1回目のみ処理を走らせたいものがあります。

以下が、作成したコードです↓
Sub Auto_Open()
  
  '画像ファイルのあるフォルダ
  Const picfold = "C:\aaa"
  '画像ファイルを設置するセル位置
  Const TheRange = "F1"
  '指定のパスのファイル
  Dim PicPath
  Dim ObjFS

    Set ObjFS = CreateObject("Scripting.FileSystemObject")
    '指定のパスのファイル
    PicPath = picfold & "\" & "bbb.jpg"

    ActiveWorkbook.ActiveSheet.Range(TheRange).Select
    ActiveWorkbook.ActiveSheet.Pictures.Insert (PicPath)
    sn = ActiveSheet.Shapes.Count
    With ActiveSheet.Shapes(sn)
      '上端からの距離(pixel)
      .Top = 10
      '左端からの距離(pixel)
      .Left = 1020
    End With
    Set ObjFS = Nothing
End Sub

内容はエクセルを開いた際、C:\aaaのbbb.jpgを
セルのF1の指定箇所に挿入するように作成しました。
指定したものを指定したセルの箇所に挿入はできたのですが、
AutoOpenメソッドなので毎回画像が上書かれ追加されます。
ボタンは置かない仕様なので、エクセルを1回目に開いたときのみ
画像を挿入させたいのですが解決方法が分からず、質問させて頂いてます。

AutoOpenメソッドの中には他にも罫線を引く処理が入っていますが
そちらは毎回走っても、1回目のみ走っても大丈夫です。
コードとして上書いて同じ処理をするのであれば、
画像の挿入と同じく1回目のみ処理を走らせた方が良いでしょうか?

有識者の方、お手数ですがご教授いただければ幸いです。
宜しくお願いします。m(_ _)m

【62837】Re:AutoOpenメソッドで1回目のみ画像挿入
回答  つるりん  - 09/9/8(火) 13:50 -

引用なし
パスワード
   そのシートのどこかにフラグをたてておけばいいのでは
ないでしょうか。
マクロ起動のたびカウントアップするようにしておけば
それを使って一回目のマクロ実行時のみ、という
指定ができます。

【62839】Re:AutoOpenメソッドで1回目のみ画像挿入
回答  つるりん  - 09/9/8(火) 13:55 -

引用なし
パスワード
   具体的には
たとえばA1にフラグを立てるとして
Range("a1")=Range("a1")+1
If Range("a1")=1 then 〜

などとすればいいような。

【62848】Re:AutoOpenメソッドで1回目のみ画像挿入
お礼  Pちゃん  - 09/9/8(火) 19:52 -

引用なし
パスワード
   ★つるりん さん

フラグを挿入し、無事解決しました。
ありがとうございました!!

3341 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free