• ベストアンサー

WordやExcelのメニューバーにファイル取込みボタンを作りたい

VBA初心者なのですが、 Word97・Excel97をWindowsXPで使っています。 メニューバーにボタンを作成し新規のシートへよく使う 画像を読み込みたいのですが。 ボタンの作り方も、VBAの作り方もわかりません。 何方か、ご教授くださいませ。 ボタンは2個 取込み画像は固定の場所で、     C:\PIC\001.gif と     C:\PIC\002.gif になります。 それぞれのボタンをクリックすると、画像が先頭に 貼り付けられるようにしたい。 本来であれば 「挿入」→「図」→「ファイルから」 で行えばよいのですが、新規作成するたびに毎回行う のが面倒なのでボタンを作成して選択できるように したいです。 宜しくお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#52504
noname#52504
回答No.2

当方にExcel97環境がありませんので、 以下Excel2000以降を念頭においた記述です。 ☆画像を挿入する処理について たとえこの処理をVBAでマクロ化したとしても、 「ボタンを作成し、マクロをボタンに登録する作業」がやはり必要ですから、 ボタンを使用する前提に立つならば、やはり#1さんの提案された 「ボタンに画像の挿入を登録する」方法が最適かと思います。 ☆複数のPCにボタンを設定していく作業について 「ボタンを設定するマクロ」というのも考えられなくはないですが、 以下の手順で比較的簡単にボタンの設定をエクスポート・インポートできます。 1.ユーザー設定ダイアログ>ツールバータブ>新規作成 で、ツールバーを新規作成する。 2.ツールバー上にボタンを作成し、設定する。 3.ツールバータブ>添付 で、ツールバーをブックに添付する。 4.ブックを保存する。 5.保存したブックを、インポートしたいPCで開く。 1~4は任意のPCで行う1度きりの作業、5は対象となるPC全てで行う作業です。 (Wordの場合は、ツール>テンプレートとアドイン>構成内容の変更から行います) ☆ボタンを使用するという前提について 使用する画像は2種類のみで、 画像の挿入場所は不定ではなくシートの先頭ということですが、 例えば、 ・文書に会社のロゴを挿入する ・稟議書に押印欄を挿入する といった用途であれば、 テンプレートを作成するのが標準的な方法かと思います。 1.シートを 1 つだけ含むブックに画像を挿入する。 2.テンプレートとして保存する。(保存時に「ファイルの種類」で「テンプレート」を選択) 3.作成したテンプレート(*.xlt)を各PCの[Templates] フォルダに投げる。 (通常は C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Templates ) 以上の処理で、新規にシートを挿入する際、画像入りのシートを選択できるようになります。

ark2004
質問者

補足

ありがとうございます。 ボタン設定ですが、わがままなユーザが多いため 通常の新規にてすでにボタン表示がほしいとのこと。 指定されたbookを開く煩わしさが問題になってしまって 申し訳ありません。 テンプレートとしての利用ですが、複数(2~3)の印があり 複数のテンプレートを選択するのは難しいと思われます。 パソコンに慣れない人が対象なので 以下のようなことがしたいです。 どうか、ご教授くださいませ。  複数のPCにボタンを設定について  マクロで固定のパスに保存されている画像を挿入する処理は  できました。  Wordで   画像を挿入するマクロを 『ツール』→『マクロ』    →『VisualBasic Editer』→『MicrosoftWordObjects』    →『ThisDocument』内にコーディング。   次に、『ツール』→『ユーザ設定』→『コマンド タブ』   →『マクロ』にて作成したマクロをメニューバーへドラッグ。  一度Wordを名前をつけて保存終了。  新規Wordを起動してもボタンとマクロは有効!  しかしながら、Excelでは一度設定した内容が次に新規Excel  を起動するとなくなってしまいます。 Wordと同じようにすることは不可能でしょうか? あとExcelさえ新規起動時にボタンとマクロが有効になれば と思っていますが、わかりません よろしくお願い致します。

その他の回答 (2)

noname#52504
noname#52504
回答No.3

#2です。 すみません、どうも私は質問者さまの意図や状況を理解できていないようです。 話がかみ合ってませんし、#2の補足にあるような動作も再現できませんでしたので、 回答を控えさせていただきます。お役に立てず申し訳ありません。 一点のみ、#2の回答に誤りがありましたので、訂正させていただきます。 (上記理由で大勢に影響ないと思いますので読み流してください) ☆Wordにおけるツールバーのコピーについて Excelの場合、ツールバーが添付されたブックを開くと、 ツールバーが自動でアプリにコピーされますが、 Wordでは、ツールバーが添付された文書を開いても、 自動ではNomal.dotにコピーされないようです。 従って文書を開くだけではツールバーをインポートできません。

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

以下の3点の条件であれば可能です。 ・Excel/Word2002で確認(97でもたぶんできる)。 ・VBAではなく、通常の設定。 ・画像の貼りつけ位置が「先頭」ではなくカーソル位置。 1)[表示]→[ツールバー]→[表示設定]→[コマンドタブ]で好きなボタンをひとつメニューバーにドラッグ&ドロップ。 2)ユーザー設定のダイアログが出たままの状態で、いま追加したボタンをクリック。 3)ユーザー設定のダイアログ内の[選択したボタンの編集]→[ボタンイメージの編集]でエディタが起動するので空きなデザインに編集(エディタの使い方は簡単だと思います)。 4)ユーザー設定のダイアログ内の[選択したボタンの編集]→[ハイパーリンクの編集]→[画像の挿入]でC:\PIC\001.gifを指定。 同様のことをC:\PIC\002.gifでもやればよろしいかと思います。 以上、Excelでの例ですが、Wordでもほぼ同じ手順でできるかと思います。 ご参考になれば。

ark2004
質問者

補足

ありがとうございます。 早速試してみましたが Excel97 word97には >[選択したボタンの編集]→[ハイパーリンクの編集]→[画像の挿入]がありませんでした。 Excel97・word97は別の処理設定でもかまいませんが なんせ、この設定を100台近いパソコンに設定するのは 大変そうです。何かよい方法はございますでしょうか? 引き続きよろしくお願い申し上げます。

関連するQ&A

  • Excel2002でメニューバーが消えました

    jcb3092です 毎度すみません。 今更なんですが、Excel2002でメニューバーとコマンドバーが消えました。 古い自作のVBAファイルを起動させ終了しました。 問題なく終了。 ですが  ””このVBAファイルにはメニューバーとコマンドバーを表示させたり   非表示にしたりしております、が終了のボタンには表示をして終了するように   記述したはずですが間違いがあったのを気づかず実行してしてしまったようです。”” 新たにExcel2002を起動、メニューバーとコマンドバーが消えました。 行った手順 1.Excel10.xlbファイルを検索、無いと表示 2.*.xlbで検索、これも無しと表示 3.VBAで表示させる記述を書いても、その時だけで新たにExcel2002を起動すると   メニューバーとコマンドバーの表示は無いです。   (記述間違いを訂正しても、現在起動中のファイルのみに対応。) 4.Excel2002をアンインストール。 5.c\program\officeフォルダを削除。 6.Excel2002をインストール。 しかしながら Excel2002起動するもメニューバーとコマンドバーの表示はありません。 使用機:DELL Inspiron6000 OS:WindowsXP Pro SP3 まだ現役のExcel2002のために力をお貸し下さい。 解決策ご教授頂きたくお願い申し上げます。

  • 【エクセルVBA】ファイル参照後にデータ取り込み

    はじめまして。マクロ素人&勉強中です。 現在、メインプログラム(エクセルVBA)から、他のフォルダ内にある 複数の読み込み用データ(EXCEL)からひとつを選択し、データの取り込み作業をマクロ化したいと考えております。 例えば、読み込み用データ1のEXCELのRange("A2:A3")を メインプログラムのRange("C5:C6")に値を転記させるようなイメージです。 動作としましては (1)メインプログラムの「ファイル参照ボタン」より、読み込み用データをひとつ選び開く  ※ここまでは、msoFileDialogOpenで作成しました。 (2)メインプログラムの「取り込みボタン」にて、開いた読み込み用データの値をメインに転記  ※マクロの記録にて実施したため、読み込み用データ2や3・・・には適応できず困っております。 何か良いアドバイスがございましたら、何卒よろしくお願い申し上げます。

  • WORDの一番上にあるバーのボタンが押せません

    困ってます。。。。WORDの一番上にあるバーのボタンが押せません。 メーカーは富士通「FMVXD0232」windowsXPで、オフィスは2003です。 文書作成後、印刷しようとファイルボタンを押しても反応がありません。編集・表示等全てのボタンがNGです。ボタンを5、6回閉じて開いてを繰り返すとたまにボタンが効くのですが、ほとんど押せずかなりのストレスで困っています。コンピュータの不具合でしょうか?何か解決策ってありますか?教えて下さい。

  • VBAのFaceIdでメニューボタンに独自の図を表示したいのですが。

    たびたび申し訳ありません。 EXCELのVBAを作成しています。 そのVBAマクロを実行するためのメニューボタンに、自分独自の図を表示したいと思っています。 VBAのCommandBars.Addでメニューボタンの作成までできましたが、 (OKWEBのお陰です。有り難う御座います。) 図を張り付けるため、FaceIdを使って、イメージ図を表示させようと思っています。 適当なFaceId番号をセットすると表示するところまではできますが、自分でどのようにして、その図を作成するのかがわかりません。 できれば、自分用のフォルダにイメージ図を作成して、それをボタン表示したいと思っています。 申し訳ありませんが、ご経験のある方宜しくお願い申し上げます。

  • エクセル フォームの ボタンがすぐにはへこまないのはなぜ?

    エクセルですが フォームよりボタンを作成しVBAにリンクを張りました。 ボタンを押すと処理は正常に実行~完了されるのですが ボタンを押す際 ・押しながら少しドラッグする ・1秒ほど押し続ける のどちらかでないとボタンがへこんでくれません。 なぜなのでしょう? どうすればすぐ反応してへこんでくれるのでしょうか? 単に動きが重いわけではありません。 Office Excel 2003 (11.8169.8172) SP3

  • Wordの『ファイル』バーが消えた!?

    この前MicrosoftのWordを使っていると 急に文字の入力ができなくなってしまい なんか変なボタンでも押したかなあ?って思いながら しょうがなく、ツールバーの『ファイル』から 保存しようとしたのですが、『新規作成、開く、保存する』 という項目すら開けず、なにもできませんでした。 (フリーズしているわけではありません) しょうがなくマウスをカチカチぐるぐるしていると 『ファイル』という項目が消えてしまいました。 これは、何なのでしょうか。 電源を入れ直し、改めてソフトを開いてみると 普通に文字は入力できましたが『ファイル』は消えたままです。 そして同じようなことがエクセルでも起こり 今度は『ファイル』の下の『開く』バーが消えてしまいました。 それ以来とても使いにくく困っています。 原因は何なのか分かる方おられますか? そして、前の通りに直るでしょうか? 誰か分かる方おられたら教えてください。 OSはwindowsXPで、パソコンはLaVieNXです。 よろしくお願いします。

  • エクセルVBA メニューバーにメニューを追加する

    エクセルVBAにて、ブックを開くと自動メニューバーにメニューを追加するというコードを作成しています。 メニューの追加そのものは問題なく出来たのですが、例えば追加された状態で上書き保存し、再度開くと、1つ追加された状態でもう1つメニューが追加されてしまうという状況となってしまいました。 IF文で重複の判定ができると良いのですが、コードが分からなくて困っております。どなたかご教授下さい。 そしてもう1つ、メニューバーに追加した新しいメニューについて、手動でリセットする方法はありますでしょうか。表示→メニューバー→ユーザ設定でリセットしてもユーザ設定だけは保持されるようで... こちらもお願いします。 コードはそのまま貼り付けるとNGワードに引っかかるので(何故かは分かりません)、申し訳ありませんがプリントスクリーンしたものを画像として添付致します(こちらも回避する方法があれば良いのですが...OKWaveは使いづらいです)。

  • EXCEL VBAでのWord操作

    ExcelのVBAにて、Wordファイルに挿入されているExcel表を更新したいのですが、 どのように記述すればよりかわかりません。 具体的には以下のとおりとなります。 「在庫.xls」 のセル A1 「照合表.doc」に挿入されているExcel表には「在庫.xls」のセルA1を参照するように記述が 入っています。 「在庫.xls」にコマンドボタン「更新」を作成し、実行すると「照合表.doc」の値が更新されるように マクロを組みたいのですが、どなたか知恵を貸してください。

  • エクセルVBAでの画像ファイル名取得他

    VBAについての質問です。 http://hp.vector.co.jp/authors/VA033788/kowaza.html#0158 上記をベースに、なんとかVBAを下記のように書き換えました。 Sub LoadPictures3() Dim Fnames As Variant Dim Fn As Variant Dim i As Integer Dim Pic As Picture Dim R As Range Dim R2 As Range Dim Pc As Integer Fnames = Application.GetOpenFilename("図(*.jpg;*.gif),*.jpg;*.gif", MultiSelect:=True) If TypeName(Fnames) = "Boolean" Then Exit Sub Application.ScreenUpdating = False '一枚目の貼付け位置 Set R = Range("B5") Set R2 = R.Offset(35) Pc = 0 For i = 1 To UBound(Fnames) Set Pic = ActiveSheet.Pictures.Insert(Fnames(i)) Select Case (i - 1) Mod 4 + 1 Case 1 Pc = Pc + 1 If Pc >= 2 Then ActiveSheet.HPageBreaks.Add R2 End If With R Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 2 With R.Offset(0, 6) '一枚目に対する二枚目の相対位置 Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 3 With R.Offset(18, 0) Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With Case 4 With R.Offset(18, 6) Pic.Left = .Left Pic.Top = .Top Pic.Width = 300 Pic.Height = 225 End With '次ページの相対位置 Set R = R.Offset(39) End Select Next Application.ScreenUpdating = True End Sub ここで、画像の上の位置(B5のセル位置の画像の場合、B4)に 元々の画像ファイル名を取得し、表記させたいのですが 調べた所、multiselect:=Trueで複数ファイルを選択するときに 画像名が図1、図2に変わっているようで、どうしていいかわかりません。 後、画像を300×225の「変倍」画像にしたいのですが どのようにすれば可能でしょうか? 全くVBAの知識がなく、上のURLを参考に、単語を調べつつ書き換えている状態で、変数やらなんやらの指定・書き方等わかりません。 どなたかご教授願います。

  • EXCEL VBAでメニュー作成時のメニュー名表示

    EXCEL VBAでサブメニューなしのメニューを下記コードで作成したところ、 メニューにメニュー名"新しいメニュー(&C)"が表示されず、 メニューの領域(表現がいまいちですが..)のみ作成されます。 (EXCEL=2002SP3 OS=WindowsXP Home Edition Ver.2002 SP2) Dim myBar As CommandBarButton Set myBar = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlButton) myBar.Caption = "新しいメニュー(&C)" myBar.OnAction = "マクロ" myBar.Visible = True 作成したメニューで右クリックから"ユーザー設定"画面を表示し内容を見ると、 "名前(N):"には"新しいメニュー(&C)" と設定されているのですが、 "既定のスタイル(U)"にチェックが入っており、これを "テキストのみ表示(T)"にチェックを入れると、メニューに 名前"新しいメニュー(&C)"が表示されます。 作成したメニューの名前の表示方法(VBAから)をご教授ねがいます。

専門家に質問してみよう