システムwiki

VBA Excel for Mac 2011&2016:Set X= Application.FileDialog(MSOFILEDIALOGOPEN)に失敗する

thereal 受付中 最終更新日:2021-06-14 18:08

私はExcelマクロに次のコードを持っています:

FileDialog

としてのDIM FD

FD= Application.FileDialog(MSOFILEDIALOGOPEN)を設定します fd.title= "ファイルを選択:"

3行目は、「オブジェクト変数またはブロック変数が設定されていません」、Mac 2011および2016のExcelでは、常にWindows 2016にはExcelはスローしません.

VBA、MS Excel 16.0、MS Office 16.0、MS Forms 2.0ライブラリがロードされています.オブジェクトブラウザは、FileDialogがOfficeオブジェクトライブラリの一部であることを示していますが、エラーを投げることなくSETステートメントが失敗しているように見えます.次の課題の場合
ステートメントエラー、デバッガは、オブジェクトFDがまだset= nothing= nothing "というエラーです.

返信リスト(回答:8)

7 #
Charles

私は私の無知を見せていました.申し訳ありません.
Windowsのversionでは、次の作業が行われます.
サブTemp()
FileDialogとしてDIM FD
FD= Application.FileDialog(MSOFILEDIALOGOPEN)を設定します fd.title= "オープンにファイルを選択"
fd.show


Mac版では機能していないと言っていますか?

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

はい.3行目は、Mac 2011および2016のExcelのExcelでは毎回「オブジェクト変数またはブロック変数を設定しない」をスローしますが、Windows 2016にはExcelは表示しません.

応答6# ->にスキップ
5 #
Charles

私はもっと助けになることはできません.あなたがしようとしていることを説明できるならば、誰かがあなたに回避策を与えることができるかもしれません.

応答5# ->にスキップ
4 #
thereal

ユーザーがファイルを選択できるように、ファイルを開くダイアログのwindows を設定しようとしています.

Debuggerは、Object FD= Mac用のExcel 2011&2016のSetステートメントの前後に何も示していませんが、それはすべてがWindows用のExcel 2016で予想通りであることを示しています.

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

Excelでファイルを選択してください?
使用しないでください.
Application.Dialogs(XLDialogopen)

応答3# ->にスキップ
2 #
thereal

遅延応答をご容赦ください.私は他のより簡単なバグを修正していました.

Windowsでは、少なくともApplication.Dialogs(XLDialogopen).Showがファイルピッカーでそれに移動した後にファイルを含むExcelwindows を開きます.表示されるテキストのインポートウィザードを満たすことが必要な場合でも.さらに、ファイルピッカーは始まります
Documentsディレクトリ(私が欲しいところではなく)Excelのファイルタイプフィルタ(も間違っている)をプリロードしてください.

私の目的についてもっと明白にしましょう:私はユーザーからパスとファイル名を取得する必要があるので、ファイルのデータを開いたり読み取り、そして処理することができます.理想的には、ファイル拡張子フィルタとディレクトリを設定できるようにしたいのですが、ファイルピッカーが開いている.

応答2# ->にスキップ
1 #
thereal

さらなる提案がない場合、私はGUIアプローチをあきらめました.代わりに、ユーザーがセル内のファイル名を入力する必要があります.ファイルのパスを取得することでファイルのパスを判断できるように、ファイルがブックと同じディレクトリにいる必要があります.
ワークブックのパス.ターミナルI/Oよりもはるかに優れていませんが、WindowsやMacのExcelで動作します.

8 #
Charles

私は私の無知を見せているかもしれません.
別のタイトルを組み込みダイアログに割り当てる機能を認識していません.
あなたはおそらくXlDialogopenダイアログを使いたいですか?