Excel 2016VBAでGetOpenFilenameメソッドを使用する方法

Excel 2016VBAでGetOpenFilenameメソッドを使用する方法

VBAプロシージャでユーザーにファイル名を要求する必要がある場合は、InputBox関数を使用して、Excelユーザーに入力を行わせることができます。ただし、ほとんどのユーザーはパス、円記号、ファイル名、ファイル拡張子を覚えるのが難しいため、通常、入力ボックスはこのジョブに最適なツールではありません。言い換えれば、ファイル名を入力するときに台無しにするのは非常に簡単です。

この問題をより適切に解決するには、ApplicationオブジェクトのGetOpenFilenameメソッドを使用します。これにより、コードが完全なパスを含む有効なファイル名を確実に取得できるようになります。GetOpenFilenameメソッドは、おなじみの[開く]ダイアログボックスを表示します([ファイル]→[開く]→[参照]を選択すると、Excelのダイアログボックスのデッドリンガーが表示されます)。

GetOpenFilenameメソッドは、指定されたファイルを実際には開きません。このメソッドは、ユーザーが選択したファイル名を文字列として返すだけです。次に、ファイル名を使用してやりたいことを実行するコードを記述できます。

GetOpenFilenameメソッドの構文

GetOpenFilenameメソッドの公式構文は次のとおりです。

object.GetOpenFilename([fileFilter]、[filterIndex]、
  [タイトル]、[ボタンテキスト]、[マルチセレクト])

GetOpenFilenameメソッドは、以下のオプションの引数を取ります。

口論 それが何をするか
FileFilter ダイアログボックスに表示されるファイルの種類を決定します
(たとえば、*。TXT)。ユーザー
が選択できるいくつかのフィルターを指定できます。
FilterIndex ダイアログボックスに
デフォルトで表示されるファイルフィルターを決定します。
題名 ダイアログボックスのタイトル
バーのキャプションを指定します。
ButtonText 無視されます(MacintoshバージョンのExcelでのみ使用されます)。
複数選択 Trueの場合、ユーザーは複数のファイルを選択できます。

GetOpenFilenameの例

fileFilter引数は、ダイアログボックスの[ファイルの種類]ドロップダウンリストに表示される内容を決定します。この引数は、ファイルフィルター文字列のペアとそれに続くワイルドカードファイルフィルターの指定で構成され、各部分とペアはコンマで区切られます。省略した場合、この引数のデフォルトは次のとおりです。

すべてのファイル (*。*)、 *。*

この文字列は、コンマで区切られた2つの部分で構成されていることに注意してください。

すべてのファイル (*。*)

*。*

この文字列の最初の部分は、[ファイルの種類]ドロップダウンリストに表示されるテキストです。2番目の部分は、ダイアログボックスに表示するファイルを決定します。たとえば、*。*はすべてのファイルを意味します。

次の例のコードは、ユーザーにファイル名を尋ねるダイアログボックスを開きます。この手順では、5つのファイルフィルターを定義します。VBA行継続シーケンスがFilter変数の設定に使用されていることに注意してください。そうすることで、このかなり複雑な議論を単純化するのに役立ちます。

Sub GetImportFileName()
  文字列としての薄暗いFinfo
  Dim FilterIndex As Long
  文字列としての薄暗いタイトル
  バリアントとしてのDimFileName
'ファイルフィルターのリストを設定する
  FInfo =“テキストファイル(* .txt)、*。txt、”&_
      「ロータスファイル(* .prn)、*。prn」&_
      「カンマ区切りファイル(* .csv)、*。csv」、および_
      「ASCIIファイル(* .asc)、*。asc」&_
      "すべてのファイル (*。*)、*。*"
'デフォルトで*。*を表示
  FilterIndex = 5
'ダイアログボックスのキャプションを設定します
  タイトル=「インポートするファイルを選択してください」
'ファイル名を取得します
  FileName = Application.GetOpenFilename(FInfo、_
    FilterIndex、Title)
'ダイアログボックスからの戻り情報を処理する
  FileName = Falseの場合Then
    MsgBox「ファイルが選択されていません。」
  そうしないと
    MsgBox「選択した」とファイル名
  終了する場合
エンドサブ

この手順を実行すると、Excelに表示されるダイアログボックスは次のとおりです。使用するWindowsのバージョンや設定した表示オ​​プションによって、外観が異なる場合があります。

Excel 2016VBAでGetOpenFilenameメソッドを使用する方法

GetOpen Filenameメソッドは、カスタマイズ可能なダイアログボックスを表示し、選択したファイルのパスと名前を返します。ファイルは開きません。

実際のアプリケーションでは、ファイル名を使用してより意味のあることを行います。たとえば、次のようなステートメントを使用して開くことができます。

Workbooks.Open FileName

FileName変数がVariantデータ型として宣言されていることに注意してください。ユーザーが[キャンセル]をクリックすると、その変数にはブール値(False)が含まれます。それ以外の場合、FileNameは文字列です。したがって、Variantデータ型を使用すると、両方の可能性が処理されます。


スマートシート 9.1.1

スマートシート 9.1.1

Smartsheet は、プロジェクトの管理、ワークフローの構築、チームとの共同作業を可能にする動的な作業プラットフォームです。

共有ポイント

共有ポイント

SharePoint は、さまざまなワークフロー アプリケーション、「リスト」データベース、その他の Web コンポーネント、およびビジネス グループの共同作業を制御するためのセキュリティ機能を使用する Web ベースのコラボレーション システムです。

パーペチュアルカレンダー 1.0.38/1.0.36

パーペチュアルカレンダー 1.0.38/1.0.36

Van Nien Calendar は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook は、Microsoft Corporation によって開発されたビジネスおよび生産性アプリケーションです。

クリックアップ

クリックアップ

ClickUp は、あらゆるビジネスにとって最も評価の高い生産性プラットフォームの 1 つです。Google、Booking.com、サンディエゴ・パドレス、Uber などの大企業はすべて、職場の生産性を向上させるために ClickUp を使用しています。

PDF-XChange ビューア 2.5.322.10

PDF-XChange ビューア 2.5.322.10

PDF は、テキスト ドキュメントの読み取り、作成、送信に一般的に使用される形式になっています。その結果、この種のドキュメントに使用されるプログラムの数も増加しました。PDF-XChange Viewer は、ますます多くの PDF ビューアの 1 つです。

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice は、特に Excel、PowerPoint、Word など、Microsoft 365 に匹敵する Office アプリケーションの完全なスイートを提供します。プロジェクトをより効率的に管理できるようになり、いくつかのファイル形式がサポートされます。

iTaxviewer 1.8.7をダウンロード

iTaxviewer 1.8.7をダウンロード

iTaxViewer ソフトウェアは、現在最も人気のある XML ファイル読み取りソフトウェアです。このソフトウェアは、国税総局のXML形式の電子申告書を閲覧するためのアプリケーションです。

Nitro PDF リーダー

Nitro PDF リーダー

Nitro PDF Reader は、ほとんどの人が PDF ドキュメントを使用して毎日実行する基本的なタスクをすべてカバーする便利な PDF エディターです。

Foxit リーダー 12

Foxit リーダー 12

Foxit Reader は主に PDF リーダーですが、PDF ファイルの作成、署名、編集、注釈の追加も可能です。オペレーティング システム上で動作し、Microsoft Office パッケージのさまざまなプログラム用のプラグインがあります。