Microsoft Excel VBA - Excel VBAでワークシートの背景のグラフィックスを設定/解除する方法

◆概要
 ワークシートの背景に画像を表示/解除するには、WorkSheetオブジェクトのSetBackgroundPicture メソッドを使います。

構文
式.SetBackgroundPicture(Filename)
式:Worksheet オブジェクトを表す変数。

パラメータ

名前 必須/オプション データ型 説明
Filename 必須 String型 表示するグラフィック ファイルを指定します。

◆Sample
 次の例は、ワークシート 1 の背景のグラフィックスを設定します。

Worksheets(1).SetBackgroundPicture "c:\graphics\花.gif" 

次の例は、ファイルを開くダイアログボックスを表示し、ユーザーが選択した画像をワークシート1の背景に設定します。

Sub SetBackgroundPic()
' *************************************************************************
' Summary:ワークシートの背景に画像を埋め込む
' Discription:まず、ファイルを開くダイアログボックスを表示し、ユーザーに
' 画像を選択させる。キャンセルボタンが押されたときは、処理を抜ける。
' 画像が指定されてOKボタンがクリックされたら、ワークシート(1)の
' 背景に指定された画像を埋め込む
' Date:2009/05/21
' Written by:WhiteTiger
' *************************************************************************

   Dim Ret As Variant

   On Error GoTo SetBackgroundPic_Err

   ' ファイルを開くダイアログボックスを表示し、画像ファイルの
   ' フルパスを変数に保存する
   Ret = Application.GetOpenFilename( _
   "画像ファイル (*.jpg),*.jpg, BMPファイル(*.bmp),*.bmp")

   ' ユーザーが「キャンセル」ボタンをクリックしたとき
   If Ret = False Then
       Exit Sub    ' 処理を抜ける
   End If

   ' ワークシートの背景に画像が埋め込む
   Sheets(1).SetBackgroundPicture _
       Filename:=Ret
        ' Retの代わりにここで指定するときは文字列でフルパス指定する。
        ' 例)"C:\WINDOWS\Web\Wallpaper\img36.jpg"
   Exit Sub

SetBackgroundPic_Err:
   MsgBox Err.Number & Err.Description

End Sub

◆背景画像を削除する
 背景画像を削除するには、SetBackgroundPictureメソッドの引数Filenameに、vbNullStringを指定します。

◆Sample

Sub DeleteBackgroundPicture()
' *************************************************************************
' Summary:ワークシートの背景画像を削除する
' Discription:ワークシート(1)の背景に埋め込まれた画像を削除する
' Date:2009/05/21
' Written by:WhiteTiger
' *************************************************************************
'背景の画像を削除する。
   Sheets(1).SetBackgroundPicture Filename:=vbNullString

End Sub


▼ページトップへ