人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAで条件分岐を行い、得られた回答によって画像(マイクロソフトオンラインのクリップアートからダウンロードできるアニメーション)を表示させたいと思います。具体例→「テキストボックスに入力した数値が1?2未満ならばAのアニメーション、2?5未満ならばBのアニメーションを表示、5?8未満ならばCのアニメーションを表示、8?10ならばDのアニメーションを表示、何も入力してなければ表示しない」 というようなマクロです。VBAを使わないで、関数のみで文字を表示することはできますが、できればVBAでアニメーションや画像を表示させたいのです。よろしくお願いします。バージョンはExcel2003で、OSはWindowsXPです。

●質問者: Yhiroro180
●カテゴリ:コンピュータ インターネット
✍キーワード:OS VBA WindowsXP アニメーション アート
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

コマンドボタンを押下することで、ご質問にあるような処理をするVBAマクロをご紹介します。

テキストボックスの値は小数でも対応できるようにしてありますが、範囲外の数値が入力された場合は何も表示しません。

  1. まず、"text1" という名前のテキストボックスと、"cmd1" という名前のコマンドボタンを用意してください。
  2. 同じシートに "WebBrowser1" という名前のMicrosoft Web Browserコントロールを用意してください。設置手順は「Microsoft Web Browser コントロールをフォームに貼る」を参考にしてください。このコントロールを使わないと GIF アニメを再生できません。
  3. VBAコードは以下の通りです。ファイル名A?Dは、ダウンロードしたアニメーションGIFファイルのフルパス名に置き換えてください。
Private Sub btn1_Click()
 v = Val(text1.Value)
 If (v >= 1 And v < 2) Then
 WebBrowser1.Navigate "ファイル名A"
 ElseIf (v >= 2 And v < 5) Then
 WebBrowser1.Navigate "ファイル名B"
 ElseIf (v >= 5 And v < 8) Then
 WebBrowser1.Navigate "ファイル名C"
 ElseIf (v >= 8 And v < 10) Then
 WebBrowser1.Navigate "ファイル名D"
 End If
 
End Sub
◎質問者からの返答

いつもご回答ありがとうございます。アニメーション表示には「Microsoft Web Browserコントロール」が必要なのですね。初めて知りました。


2 ● きゃづみぃ
●35ポイント

VBAで画像の表示を行うには、

Shapes("Picture 1").Visible = True

とすればいいでしょう。

ちなみに 画像の名前は "Picture 1"となっていますが、これは 変更してください。

表示しないようにするには

Shapes("Picture 1").Visible = False

としたらいいですね。

◎質問者からの返答

ご回答ありがとうございます。画像は大丈夫ということですが、マイクロソフトオンラインのアニメーションも可能でしょうか。申し訳ありません。コードは初心者なので、読んだだけでは???があります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ