プログラム初心者VBA入門ブログ

単純作業を自動化したい!けどプログラミングなんてわかんない!という方向けのVBAレクチャーブログです♪

第28回「ファイルの大きさによって入稿可否を決定!」

はいどーも!つのかぼちゃです!

 

今回はファイルの大きさによって

Excelに画像を挿入するかしないか判断するVBAマクロを

作成していきます!

 

まずプログラムです!

 

f:id:vba-business999999:20180809220345p:plain

 

第27回のプログラムにさらに付け加えた感じですね!

では解説していきます!

 

Dim foldanonamae, filemoookisa As String

VBAさん!foldanonamae と filemoookisa は文字だよ!

 

foldanonamae = Application.GetOpenFilename

エクスプローラーを開いて、フルパスを foldanonamae に代入してね!

 

filemoookisa = FileLen(foldanonamae)

→ filemoookisa に foldanonamae(=選択した画像)のバイト数を代入!

 

If InStr(foldanonamae, ".png") > 0 Then

→もし foldanonamae(=選択した画像のフルパス)に「.png」が入っていたら

 

If filemoookisa < 40000 Then

→filemoookisa(=選択した画像のバイト数)が40000バイト未満なら

 

Worksheets("Sheet1").Pictures.Insert(foldanonamae).Select

→「Sheet1」にフルパスが foldanonamae の画像(=選択した画像)を挿入してね!

 

Else

→それ以外の場合


Call MsgBox("40000バイト以下のファイルにしてちょ")

→メッセージボックスに「40000バイト以下のファイルにしてちょ」と出力


End If

→もしもの話は終わり!


Else

→それ以外の場合


Call MsgBox("png形式のファイルにしてちょ")

→メッセージボックスに「png形式のファイルにしてちょ」と出力


End If

→もしもの話は終わり!

 

以上です!

 

今回は IF 文の中に IF 文があるので

少しわかりにくいかもしれません。

そんなときは樹形図を描くといいかもしれません!

 

ではではプログラムを実行してみましょう!

 

エクスプローラーが開きましたね

f:id:vba-business999999:20180807200544p:plain

 

png形式の40000バイト以上のファイルを選択!

f:id:vba-business999999:20180809221712p:plain

 

すると!

 

f:id:vba-business999999:20180809221815p:plain

 

ちゃんとメッセージボックスに

「40000バイト以下のファイルにしてちょ」と出力されました!

 

 

ちなみに

プログラムを実行して、

png形式のファイル以外を選択すると

 

f:id:vba-business999999:20180807205212p:plain

 

png形式のファイルにしてちょ」と出力されます。

 

そしてpng形式のファイルを選択すると

 

f:id:vba-business999999:20180807202839p:plain

 

ちゃんと挿入されます!

 

おつかれさまでした!

いかがだったでしょうか?

次回は挿入する画像の大きさを指定するプログラムを作っていきます!

 

おたのしみに!