• ベストアンサー

フォルダを開く際に、サイズを細かく設定する方法は

vbaでフォルダを開く際に、サイズを細かく設定する方法はありますか? Sub Sample() Shell "explorer C:\" End Sub これで開けるのですが、引数には、最大化などしかなくて、縦800、横600など、 指定した数値で開くことは不可能でしょうか?

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

開いた後にサイズ変更をする方向で。 Sub sample() Dim FPath As Variant Dim objW As Object Dim i As Long   FPath = "C:\"   With CreateObject("Shell.Application")     .Open FPath     Application.Wait Now() + TimeValue("0:00:01")     For Each objW In .Windows       If InStr(TypeName(objW.Document), "ShellFolder") > 1 Then         If objW.Document.Folder.Items().Item.Path = FPath Then           objW.Top = 100           objW.Left = 100           objW.Height = 500           objW.Width = 100         End If       End If     Next   End With End Sub うまくいかないときは   Application.Wait Now() + TimeValue("0:00:01")   の数字を増やしてみてくださいませ。 上記コードは「1秒待て」の意味です。 ウィンドウが開ききるまで待つためのウェイト時間ですね。

tmqkbjsiehjk
質問者

お礼

ありがとうございました。

関連するQ&A

  • pdfをvbaで開いて、さらにサイズを指定する

    pdfをvbaで開いて、さらにサイズを指定することは可能ですか? Sub Sample() Dim myFile As String myFile = "C:\\問い合わせ.pdf" Shell """C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"" " & myFile End Sub これでPDFを開くことは出来るのですが 縦横、高さ、幅を指定したいのですが、可能ですか?

  • 間違ったパスなのにマイドキュメントが開く

    Sub フォルダを開く() Shell "explorer C:\Windows", vbNormalFocus End Sub このコードで問題なくフォルダは開くのですが 敢えて Shell "explorer C:\Windowsあああ", vbNormalFocus とした場合、エラーにならずにマイドキュメントが開いてしまいます。 なぜなのでしょうか? また、Shellコマンド?メソッド?関数?は エラーは発生しないのでしょうか? ご教授よろしくお願い致します。

  • 「フォルダの参照」ダイアログを「常に手前」に表示

    下記サンプルを使ってフォルダを指定させています。 Sub Sample2() Dim Shell, myPath Set Shell = CreateObject("Shell.Application") Set myPath = Shell.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, "C:\") If Not myPath Is Nothing Then MsgBox myPath.Items.Item.Path Set Shell = Nothing Set myPath = Nothing End Sub 上記プログラムで働くダイアログを 常に手前に表示させるか、 モーダルにするか、 他の所がアクティブになっても、すぐに手前に表示させるかしたいのです。 ちなみにプログラムは http://officetanaka.net/excel/vba/tips/tips39.htm を参考にさせてもらっています。 (ちなみに「1.FileDialogオブジェクトを使う方法」はエクセル2002以降の機能らしく実行できませんでした。これを使えるのが一番いいのですが・・・) エクセル 2000を使っています よろしくおねがいします

  • vbaで画像ファイルを開き、サイズを変更して保存

    vbaで画像ファイルを開き、その後サイズを変更して保存することは出来るのでしょうか? ペイントで画像を開くのは Sub test() MyFileName = "C:\セット.jpg" Shell "C:\WINDOWS\system32\mspaint.exe" & " " & Chr(34) & MyFileName & Chr(34), vbNormalFocus End Sub これで出来たのですが その後、サイズ変更→ピクセル→ 水平方向 300 垂直方向 225 を指定して保存したいのですが そこまでVBAで可能でしょうか?

  • Shell関数を使って、ファイル名を指定して開くこ

    オフィス2003です。 Sub サンプル1() Dim strExcelPath As String strExcelPath = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" Shell strExcelPath, 1 End Sub なら空のエクセルアプリケーションが開けます。 でも、 Sub サンプル2() Dim strExcelPath As String strExcelPath = "D:\ファイル.xls" Shell strExcelPath, 1 End Sub だと、 “プロシージャの呼び出し、または引数が不正です。“ と言うエラーになります。 Shell関数を使って、ファイル名を指定して開くことはできないのでしょうか?

  • サブフォルダの親フォルダを変えたい

    フォルダの中のサブフォルダを取得してくて、 http://officetanaka.net/excel/vba/tips/tips95.htm の --------------------------------------------------------- Sub Sample4() Dim buf As String, msg As String buf = Dir("*.*", vbDirectory) Do While buf <> "" If InStr(buf, ".") = 0 Then msg = msg & buf & vbCrLf buf = Dir() Loop MsgBox msg End Sub --------------------------------------------------------- をやってみたら、サブフォルダを取得できたのですが、 上記のコードを実行すると 元々のフォルダのパスが「C:\Users」で、 「C:\Users」のサブフォルダが取得されてしまいます。 でも上記のコードでは、「C:\Users」は指定してないと思うのですが、 なぜ「C:\Users」のサブフォルダが取得されてしまうのでしょうか? 例えば 「C:\Users」ではなく、「C:\Program Files」のサブフォルダを取得するには、 どのようにコードを書き換えればいいのでしょうか? ご教授よろしくお願いします。

  • サブルーチンに引数を2つ以上渡したい

    Access2002、vba上で サブルーチンに引数を2つ指定したいのですが、 なぜか「コンパイルエラー 修正候補=」 と出てしまいます。 引数を1つにするとうまく動作します。 どなたかお分かりの方いらっしゃいましたら教えて ください。 宜しくお願いします。 サンプルコード: -------------------------------- the_subroutine(a, b) ' ※ここでコンパイルエラー Sub the_subroutine(c As String, d As Object) End Sub -------------------------------

  • IEのブラウザを、任意のサイズで指定するには?

    アクセスです。 Private Sub サンプル() Dim IE As Object Set IE = CreateObject("internetExplorer.application") IE.Visible = True IE.navigate ("D:\サンプル.txt") Set IE = Nothing End Sub で、IEは開くのですが、ブラウザのサイズがバラバラです。 縦10cm、横10cmのようにサイズの指定はできますか? (単位はcmでなくても大丈夫です^^) http://okwave.jp/qa/q5503310.html を見ると、APIを使うのかなー と思ったのですが、APIの作り方はわからないのでご教授お願いします。

  • vba 数式を入れる 列を数値にしたい

    vbaで数式をセルに入れる際に、アルファベットで列を指定するのではなく 数値で指定する場合、どうすればいいでしょうか? 例えば、A1セルに Sub Sample() Cells(1, 1) = "=a2+a3" End Sub と言う結果にしたい場合、 a列の部分も数値で指定したいです。 Sub Sample() Cells(1, 1) = "=" & Cells(2,1) & "+" & Cells(3,1) End Sub こういうことをやりたいのですが これだとエラーになってしまいます。 方法を教えてください。

  • 開いたときの位置を指定する事は可能ですか?

    Sub Sample() Dim myFile As String myFile = "C:\Program Files (x86)\" Shell "C:\Windows\Explorer.exe " & myFile, vbNormalFocus End Sub これでフォルダを起動させているのですが 開いたときの位置を指定する事は可能ですか? TOP=0 など、IE操作の様に画面に対する位置を指定したいのですが どうすればいいでしょうか?

専門家に質問してみよう