システムwiki

フォルダ内のvbashowファイルにアクセスします(通常、最大化されていません)が、代わりに最小化された状態で表示します

Muhamma 受付中 最終更新日:2022-01-16 07:45

みなさん、こんにちは.

VBAコードの1つでヘルプが必要です.曲データベースの特定のフォルダーに、ファイルを表示するためのボタンを作成します.以下は私のコードです:

Dim shellCmd As String

shellCmd= "explorer.exe/select、" ""&SongBankFolder&FolderName&"\"&FileName&"" "、vbNormalFocus"

シェルshellCmd、vbNormalFocus

コードは私のコンピューターでは問題なく動作しているようです.残念ながら、別のコンピューターで試してみると、フォルダーが開きます.はい、最小化されています.

フォルダが最小化された状態で開かないようにするには、どうすればこれを回避できますか.最大化は使用せず、通常のオープンのみを使用します.

データベースをすべてのチームメンバーとスタッフに配布するため、コードがすべてのコンピューターで同じように機能することを確認する必要があります.

よろしくお願いします.

返信リスト(回答:11)

11 #
theDBgu

こんにちは.特定の問題を解決する方法がわかりませんが、代わりにApplication.FollowHyperlinkメソッドを使用しようとしたのではないかと思いました.

応答11# ->にスキップ
9 #
Muhamma

Application.FollowHyperlinkは、ターゲットファイルを開きます.

私が欲しいのは、Accessがターゲットファイルを開くフォルダを開いて強調表示することです.

応答11# ->にスキップ
10 #
KenSher

これにより、OPのコードのようにファイルを選択した状態でWindowsエクスプローラーを開くのではなく、デフォルトのApplicationでファイルを開くことになります.

応答10# ->にスキップ
5 #
theDBgu

私が言おうとしていることを皆さんが誤解していたか、自分自身をうまく説明できなかったと思います.

これで何が得られますか?

Application.FollowHyperlink CurrentProject.Path

応答10# ->にスキップ
8 #
Muhamma

Application.FollowHyperlinkは、ターゲットファイルを開きます.

私が欲しいのは、Accessがターゲットファイルを開くフォルダを開いて強調表示することです.

応答8# ->にスキップ
4 #
theDBgu

私が言おうとしていることを皆さんが誤解していたか、自分自身をうまく説明できなかったと思います.

これで何が得られますか?

Application.FollowHyperlink SongBankFolder&FolderName

応答4# ->にスキップ
3 #
Muhamma

重要なのは、開くのではなく、「エクスプローラーで明らかにする」ことです.

Application.FollowHyperlinkファイルを強調表示せずにフォルダを開きます.

シェルコマンドショーハイライトフォルダ内のファイル.

私の現在のコードはPREFECTLYFINEで動作していると言われていますが、問題は別のコンピューターで実行した場合です.

応答3# ->にスキップ
1 #
theDBgu

最初に言ったように、私が立っている場所から各コンピューターを調べることができなければ、同じコードを使用して2つの異なる結果が得られる理由を説明することはできません.私は単に可能な代替案を提供しました. しかし、それが十分でない場合は、そうではないと思います.

この時点で他に何を提案すべきかわかりません.プロジェクトを頑張ってください.

応答8# ->にスキップ
7 #
Scottge

私はFileDialogプロパティを使用してから、Shell toExplorer.exeを使用する傾向があります.Shellコマンドが実行され、外部プログラムが実行されます.ただし、FileDialogはWindowsOSを使用します.

この記事が役立つかもしれません. VBA FileDialog-ファイルを開く、選択する、保存する-Application.Filedialog(analystcave.com)

応答7# ->にスキップ
6 #
Muhamma

なんてこった、これはまったく別のことだ.FileDialogは、フォルダを「探す」ために使用されます

私の目的は、「閲覧」ではなく「エクスプローラーでファイルを表示」することです.

「見る」ではなく「見せたい」

私の質問を正しく読んでください.私のコードは正しく実行されていると言いましたが、私のPCや他のPCと比較して同じ結果が得られなかっただけです

応答6# ->にスキップ
2 #
Scottge

FileDialogを使用して、そのフォルダー内のファイルを「表示」することもできます.いいえ、「まったく別のことではありません.Windowsエクスプローラーを開いたまま、ファイルを強調表示したままにします.そこで、ユーザーはファイルを使って好きなことを行うことができます.ファイルをコピーしたり、削除したりできます.

FileDialogでは、ファイルを指定することで同じことが起こり、ファイルが「公開」されます.ただし、ユーザーが選択できるのはファイルのみです.次に、コードを使用してファイルに対して何らかのアクションを実行する必要があります.

コードが1台のマシンで動作している間は、すべてのマシンで機能するわけではありません.DBGuyが言ったように、なぜそうではないのかわかりません.ただし、Shellコマンドを使用すると、マシン間のわずかな違いの影響を受ける外部プログラムが実行されると言えます.あなたのコードはあなたが望むことをしません、それはすべてのマシンで一貫して動作することです.FileDialogがそうする可能性が高いことを示唆しています.

あなたは助けを求めました、私たちはあなたにそれを与えています.