- 締切済み
Excel VBAの組み込みダイアログについて
ExcelのVBAの組み込みダイアログで、 Application.Dialogs(xlDialogInsertPicture).Show についてですが、ヘルプの組み込みダイアログボックス引数一覧をみると xlDialogInsertPicture file_name、filter_number とあります。 これは、ダイアログボックスの図の挿入で、ファイル名とファイルの種類の引数になると思いますが、 ダイアログボックスの右上に表示される、表示の縮小表示を選択することってできるのでしょうか?また、ファイルの場所の指定ってできるのでしょうか?どなたか、詳しい方いらっしゃいましたら教えてください。よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- Excel VBA組み込みダイアログボックス
Excel2002で、あるセルに入力した文字列をキーワードに、複数のワークシートを検索、検索結果表示を「編集」-「検索」-「すべて検索」をクリックしたように一覧表示したい。 組み込みダイアログボックスを使い、VBAを次のように記述しましたが、表示されるウィンドウに「すべて検索」の表示は無く、「次を検索」しかできません。 組み込みダイアログボックスの引数に何か指定すれば「すべて検索」が可能になるのでしょうか? それとも、組み込みダイアログボックスを使うことが間違っているのでしょうか? よろしくお願いします。 Public Sub Kensaku() '変数の宣言 Dim strKeywords As String Dim vntShar As Variant '検索したい文字列を変数Keywordsに取得 strKeywords = Range("B4").Value '左から2番目、3番目、4番目のワークシートを選択 vntShar = Array(2, 3, 4) Sheets(vntShar).Select '検索ウインドウを開いて検索を実行 Application.Dialogs(xlDialogFormulaFind).Show (strKeywords) End Sub
- 締切済み
- オフィス系ソフト
- VBAの組み込みダイアログの引数Argについて
エクセルVBAでの質問です。 エクセルとして名前をつけて保存なら Sub aaa() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.xls", ARG2:=1 End Sub テキストファイルとして名前をつけて保存なら Sub bbb() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.txt", ARG2:=3 End Sub CSVファイルとして名前をつけて保存なら Sub ccc() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.csv", ARG2:=6 End Sub でうまくいきます。 今度は、ファイルを開こうとxlDialogOpenに変えました。 Sub aaa2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.xls" ', ARG2:=1 End Sub Sub bbb2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.txt", ARG2:=3 End Sub 以上二つはファイル名入りのダイアログは出ました。でもダイアログの画面にはフォルダーしか表示されません。 Sub ccc2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.csv", ARG2:=6 End Sub これは実行時エラーになりました。 どうも、Application.Dialogs(xlDialogSaveAs)とApplication.Dialogs(xlDialogOpen)では引数ARG2が違うようです。 Application.Dialogs(xlDialogOpen)でのARG2は何の指定なのでしょうか?またその数値の意味はなんでしょうか?
- ベストアンサー
- その他MS Office製品
- エクセルVBAの「組み込みダイアログボックス」の使用法?
いつもありがとうございます。 組み込みダイアログボックスについて教えてください。 エクセルのシート内容をCSV形式で保存する場合、組み込みダイアログボックスを使い、下記のマクロでうまく行きました。 Sub CSV保存() '~略~ Application.Dialogs(xlDialogSaveAs).Show ARG2:=6 '~略~ End Sub 試した結果、上記の組み込みダイローグのファイルの種類のデフォルトは ARG2:=の次の値が6でcsv、1でエクセルになるようでした。 次に、エクセルを開いた状態でCSVファイルを開こうと思い、同様に組み込みダイアローグを使用するため下記のマクロを作りました。ところがうまくいきません。 Sub CSVdata取得() Application.Dialogs(xlDialogOpen).Show ARG2:=6 End Sub ・・・・と記述するとエラーになります。 この場合、どうも ARG2:=6の6の数字のところが4以上はエラーとなるようです。 ARG2:=の次の値を1~3にするとエラーにはなりませんが、デフォルトはいずれもエクセルでした。 最初からファイルの種類をCSV形式にするにはどう記述したらよいのでしょうか? どうかお助けください。
- ベストアンサー
- オフィス系ソフト
- Excel VBA xlDialogSort引数リストの使い方
いつもお世話になっております。 Excel VBA の使い方で困っていますので、どちらかご教授いただけると幸いです。 状況: 手動で並べ替えセル範囲を選択後、ボタンを押すと、 Application.Dialogs(xlDialogSort).Show を実行して、Excel組込み(標準)の並べ替えダイアログを表示させて、並べ替機能を利用したいのですが、この並べ替えダイアログの「範囲の先頭行」の指定が自動で「データ」となってしまい、困っています。 正しくは、常時「タイトル行」を指定したいと思っています。 そこで、VBAのヘルプを調べて、引数リストなるものを見つけましたが、使い方が判らなくて困っています。 (引数リスト) xlDialogSort orientation、key1、order1、key2、order2、key3、order3、header、custom、case (質問) Application.Dialogs(xlDialogSort).Show に、上記引数リストのいずれかを加えて、並べ替えダイアログでは常に「タイトル行」が選択されるようには、どうしたらよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルVBA 組み込みダイアログのコンパイルエラーについて
ファイル保存のための組み込みダイアログでデフォルトの名前を指定したい場合、 Application.Dialogs(xlDialogSaveAs).Show 'ARG1:="あたらしいファイル", ARG2:=1) でOKなのですが、 キャンセルボタンを押された場合の処理をするため Dim boCheck As Boolean boCheck = Application.Dialogs(xlDialogSaveAs).Show 'ARG1:="あたらしいファイル", ARG2:=1) If boCheck = False Then キャンセルの場合の処理 Else そうでない場合の処理 End if とするとコンパイルエラーになります。 どこが悪いのでしょうか?
- 締切済み
- オフィス系ソフト
- オートシェイプの書式設定(線と色)の組み込みダイアログボックスを表示することは可能?
オートシェイプの書式設定の組み込みダイアログボックスをEXCEL VBAから表示させることは可能でしょうか? Application.Dialogs(xlDialogPatterns).Show を使っても、セルやグラフ系のオブジェクトの書式設定はできるようですが、オートシェイプの書式となると、輪郭線の色や太さ(ポイント単位)が指定できないようです。 オートシェイプの書式設定はExcelの組み込みダイアログボックスに入っていないのでしょうか。
- 締切済み
- オフィス系ソフト
- ExcelVBA/ダイアログボックスで選んだファイルのファイル名を取得したい
ExcelのVBAについて教えてください。 「ファイルを開く」の時に出てくるようなダイアログボックスを表示させ、そこで選択したファイルのフルパス+ファイル名を文字列形式で取得したいのですが、どのようにしたら良いでしょうか? 自分でヘルプファイルもある程度調べてみたのですが、よく分かりませんでした。 最終的には、ワークシート上に画像ファイルを挿入し、その作成日付をセルに表示するようなものを作りたいのですが、 Application.Dialogs(xlDialogInsertPicture).Show では、画像は挿入されるものの、挿入した画像のファイル名を取得できないので、日付が調べられないのです。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- 「プリンタの設定」ダイアログボックスのプリンタを指定したい。
Excel VBAにて以下のコードを書き,接続されているプリンタ一覧の表示と設定は出来るのですが、のダイアログに表示されるプリンタを指定した物だけにしたいのです。 Application.Dialogs(xlDialogPrinterSetup).Show ダイアログの組み込み定数「xlDialogPrinterSetup」は引数でプリンタ名を持てる筈なのですが、どう書いてもエラーになってしまいます。 Application.Dialogs(xlDialogPrinterSetup).Show arg1:="プリンタ名" Application.Dialogs(xlDialogPrinterSetup).Show ("プリンタ名") Application.Dialogs(xlDialogPrinterSetup).Show(arg1:="プリンタ名") やりたい事は接続されているマシンの一覧の中から一つのプリンタを選択肢、それだけの設定ダイアログを出したいのです。
- 締切済み
- その他(プログラミング・開発)
- 組込ダイアログについて(エクセル)
エクセルの組込ダイアログにパスのみを選定(ファイルを開くでファイルを開くのではなく目的にフォルダーを選定してそのフォルダーのパスを取得)するものってありますか? 皆さんは、どのように実現していますか? VBAに詳しい方教えてください。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ExcelのxlDialogInsertPictureで。
エクセルのVBAで、Application.Dialogs(xlDialogInsertPicture).Showを使って、写真取り込む時に、シートにではなく、フォームのImageに直接取り込む方法ってあるのでしょうか? UserForm1.Image1 = Application.Dialogs _(xlDialogInsertPicture).Show とするとエラーになってしまいます。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
補足
セルの大きさに合わせて写真を調整する部分のマクロは既に出来ています。今回質問したのは、その前の挿入の状態部分でした。言葉たらずですみません。 下記のマクロを拡張させようと考えています。(今回の質問とは直接は関係ありません) Sub 位置補正() 'これがアドイン用 Dim RangeTop As Integer Dim RangeLeft As Integer Dim RangeHeight As Integer Dim RangeWidth As Integer Dim PictureTop As Integer Dim PictureLeft As Integer Dim PictureHeight As Integer Dim PictureWidth As Integer Dim Range_HW_Ratio As Single Dim Picture_HW_Ratio As Single If TypeName(Selection) = "Picture" Then RangeTop = Selection.TopLeftCell.MergeArea.Top RangeLeft = Selection.TopLeftCell.MergeArea.Left RangeHeight = Selection.TopLeftCell.MergeArea.Height RangeWidth = Selection.TopLeftCell.MergeArea.Width PictureTop = Selection.Top PictureLeft = Selection.Left PictureHeight = Selection.Height PictureWidth = Selection.Width ThisWorkbook.Worksheets("設定値").Range("B2").Value = PictureTop ThisWorkbook.Worksheets("設定値").Range("B3").Value = PictureLeft ThisWorkbook.Worksheets("設定値").Range("B4").Value = PictureHeight ThisWorkbook.Worksheets("設定値").Range("B5").Value = PictureWidth Selection.Top = RangeTop Selection.Left = RangeLeft Range_HW_Ratio = RangeHeight / RangeWidth Picture_HW_Ratio = PictureHeight / PictureWidth If UserForm1.OptionButton1.Value Then If Range_HW_Ratio > Picture_HW_Ratio Then '横に合わせる Selection.Width = RangeWidth Selection.Height = Int(RangeWidth * Picture_HW_Ratio) Else '縦に合わせる Selection.Height = RangeHeight Selection.Width = Int(RangeHeight / Picture_HW_Ratio) End If Else Selection.Top = RangeTop Selection.Left = RangeLeft Selection.Height = RangeHeight Selection.Width = RangeWidth End If End If End Sub