我々はExcelで毎日使用する場合は、だけでなく、多くの場合、あなたは他のデータファイルにアクセスする必要がある、現在のExcelファイル内のデータを使用します。これらのデータファイルは、Excelファイル、テキストファイル、またはデータベースファイルかもしれません。友人は、多くの場合、VBAコードでこれらのデータファイルを操作する方法を尋ねますか?本論文では、体系的にExcelのデータファイルを操作するアプリケーションVBAの方法をご紹介します。
この論文は、4つの一般的に使用される方法について説明し
、ファイルを処理するために、Excelオブジェクトを使用して、1、
2、ファイルを処理する文書処理VBA文を使用して、
3、ファイルを処理するためにファイルオブジェクトを使用して
ファイルを処理するためにAPI関数を使用して4、。
もちろん、データベースファイルのために、あなたはまた、操作のADO + SQLメソッドを使用できますが、フォーラムはそのような方法は、我々はそれを繰り返すことはしません詳細先人に記載されています。
まず、Excelのオブジェクトを使用すると、ファイルを処理します
ファイルを操作するには、ネイティブのExcelオブジェクトを利用するための最も便利で簡単な方法です。
私たちは、主にファイルやワークブックワークブックコレクション・オブジェクトを操作するメソッドを使用します。
1、Excelファイルを開きます
私たちは、Workbooks.OpenメソッドでExcelブックを開くことができます。
Workbooks.Open(ファイル名、UpdateLinks、読み取り専用、フォーマット、パスワード、WriteResPassword、IgnoreReadOnlyRecommended、起源、デリミタ、編集可能、通知、コンバーター、AddToMru、ローカル、CorruptLoad)
ファイル名は、ワークブック名を開くために必要なパラメータと言われ、あなたは、現在のパスを表す、パスを指定しない場合。さらに14暗号化パラメータ、めったに使用されない他のに加えて、オプションのパラメータです。具体的な意味は、VBAのヘルプで見つけることができます。
例:
Workbooks.Open "F:\ Test.xlsを"
ファイルのTest.xlsをFディスクを開くことができます。
2、テキストファイルを開きます
また、テキストファイルを開くことができOpenメソッドを使用しますが、OpenTextメソッドを使用することをお勧めします。この方法は、単一のブックがこのシートの過程で破壊が施され、テキストファイルデータに置かれたワークシートを含んとして解析し、処理されたテキストファイルをロードすることです。完全な構文は次のとおりです
Workbooks.OpenText(ファイル名、起源、STARTROW、データ型、TextQualifier、ConsecutiveDelimiter、タブ、セミコロン、カンマ、スペース、その他、OtherChar、のFieldInfo、TextVisualLayout、decimalSeparatorと、thousandsSeparatorと、TrailingMinusNumbers、ローカル)
上記のパラメータの具体的な意味はここでそれを繰り返すことは、VBAのヘルプで見つけることができます。実際のプログラミングでは、一般的に、これらの複雑なプロセスのパラメータなし。あなたは、マクロを記録することによって、VBAコードのテキストファイルを開き得ることができます。具体的な方法は、「ファイル-開く」を選択することですし、テキストファイルを開くために選択したテキストが開くまで、テキストインポートウィザードは、録画を停止し、ステップ実行により、完全なステップを表示します。
次のマクロを記録することによって得られたコードである:
サブMacro1を()
「
」Macro1をマクロ
MCシステムによって記録された「マクロ、時間:2007年3月29日
」
「
Workbooks.OpenTextファイル名:= "F:\ CallWindowProc.txt"、原産地:= xlWindows、_
STARTROW:= 1、データ型:= xlDelimited、TextQualifier:= xlDoubleQuote、_
ConsecutiveDelimiter:= Falseを、タブ:= Trueの場合、セミコロン: = Falseの、コンマ:= Falseの_
、スペース:= Falseを、その他:= Falseの、のFieldInfo:=アレイ(1、1)、_
TrailingMinusNumbers:= Trueの
End Subの
適切な変更をの使用を行うことができる限り、実際のプログラミングで。
3、開いている他のファイル
Excelのオブジェクトを使用しても、XMLファイルと(例えばAccessなど)いくつかのデータベースファイル、対応するXMLファイルを開くことができ、あなたはExcel2003のバージョンよりも多くを必要とします。
:方法OpenXMLの構文は次の通りである
Workbooks.OpenXML(ファイル名、スタイルシート、LoadOption)を
ファイル名文字列型が必要です。ファイル名を開きます。
スタイルシートバリアントオプション。XSL変換(XSLT)スタイルシート処理命令を指定値または単一の値のアレイは、適用されます。
LoadOptionバリアント型変換。Excelは、XMLデータファイルを開く指定します。XlXmlLoadOptionは定数の一つであってもよいです。
XlXmlLoadOption XlXmlLoadOptionは、以下の定数のいずれか:
XMLデータファイルの内容がXMLリストを置いているxlXmlLoadImportToList。
「XML構造」作業ウィンドウでxlXmlLoadMapXml表示アーキテクチャXMLデータファイル。
XMLデータファイルを開くxlXmlLoadOpenXml。ファイルの内容が開始されます。
ファイルを開くように選択するように促すxlXmlLoadPromptUser。
例
次のコードは、XMLデータファイル「customers.xml」を開き、XMLのリストにこのファイルの内容を示しています。
サブUseOpenXML()
Application.Workbooks.OpenXML _
ファイル名:= "customers.xml"、_
LoadOption:= xlXmlLoadImportToList
End Subの
OpenDatabaseメソッドの構文は次のとおりです。
Workbooks.OpenDatabase(ファイル名、CommandTextを、CommandTypeを、BackgroundQuery、ImportDataAs)
ファイル名の文字列型は、必要です。接続文字列。
CommandTextをバリアントオプション。コマンドテキストクエリ。
CommandTypeをバリアントオプション。コマンドクエリを入力します。デフォルト、SQLおよび表:使用可能なコマンドの種類は以下のとおりです。
BackgroundQueryバリアントオプション。クエリの背景。
ImportDataAsバリアントオプション。クエリの形式を決定します。
例
この例では、Excelが「Northwind.mdbの」ファイルを開きます。
サブOpenDatabaseメソッド()
Workbooks.OpenDatabaseファイル名:= "C:\ Northwind.mdbを"
End Subの
4、ファイルを保存
保存またはSaveAsメソッドを使用してファイルを保存するWorkbookオブジェクト。
Saveメソッドは、構文は、使用するのは簡単です
式はWorkbookオブジェクトで、expression.Save。
以下のような:ActiveWorkbook.Saveは、
アクティブなブックに保存されます。
これが初めてである場合は、ブックを保存またはとして保存し、ファイルのファイル名を指定するには、SaveAsメソッドを使用します。
構文は次のとおりです。
expression.SaveAs(ファイル名、FileFormatは、パスワード、WriteResPassword、ReadOnlyRecommended、CreateBackup、ACCESSMODE、ConflictResolution、AddToMru、TextCodepage、TextVisualLayout、ローカル)
VBAのヘルプで見つけることができる特定のパラメータを意味、使用するのは比較的簡単です。
例
この例では、ワークブックを作成し、ファイル名を入力し、[ブックを保存するプロンプトが表示されます。
設定しNewBook = Workbooks.Add
ドゥ
fNameを= Application.GetSaveAsFilename
fNameをまでループ<> Falseの
NewBook.SaveAsファイル名:= fNameを
標準ユーザーのファイル名を取得するには、ダイアログボックス「名前を付けて保存」が、実際に任意のファイルを保存し、ファイルを保存するためのコードを使用していませんを育てるApplication.GetSaveAsFilename。そこApplication.GetOpenFileNameは、標準の「開く」ダイアログボックスが表示されます。
5、ファイルを閉じます
使用可能なファイルまたはCloseメソッドワークブックワークブックコレクションオブジェクトを閉じます。前者は、特定のブックをシャットダウンし、すべての開いているブックを閉じることです。
Closeメソッド文法Workbookオブジェクト:
expression.Close(SaveChangesメソッド、ファイル名、RouteWorkbook)
SaveChangesメソッドのパラメータが変更を保存するには、多くの操作を変更する必要はありませんかどうかを示し、ポップアップダイアログボックスを回避するために、Falseに設定することができ、変更を保存するよう求められます。
オプションのファイル名。このファイル名で変更を保存します。
RouteWorkbookオプション。あなたは(何のルーティングスリップまたは配信されている)、次の受信者にワークブックを送信する必要を指定しない場合、パラメータは無視されます。
例
この例に近いBook1.xlsという、変更およびすべてのこのワークブックを放棄します。
ワークブック( "BOOK1.XLS")閉じるのSaveChanges := Falseの
本実施閉じ、開いているブック。あなたは、ブックが変更された開くと、Microsoft Excelはダイアログボックスを表示し、プロンプトが表示され、変更を保存するかどうかを尋ねられます。
Workbooks.Close
図6に示すように、統合された例
Fディスクは、ExcelファイルのTest.xlsをを持っている場合は、今Test.xlsというデータをアクセスするために、別のExcelファイルを持って、私たちは、この使用してVBAコードを実行する方法を見てみましょう。コードは以下の通りである:
公立小テスト()
Application.ScreenUpdating = Falseの
Workbooks.Open "F:\ Test.xlsを"
ThisWorkbook.Sheets(1).Range( "B1")ActiveWorkbook.Sheets =(1).Range( "A2" )
ActiveWorkbook.Close
Application.ScreenUpdating = Trueの
End Subの
最初、画面のリフレッシュをオフにするには、開いたとき)Test.xlsをが見られ(そして時には、まだ参照してくださいを参照してくださいすることを防止することです。開封後、セル値Test.xlsをがシート1 A2閉じるTest.xlsを次に、現在のブックシート1セルB2に割り当てられた参照します。
ブックが開かれることが不確実である場合には、ユーザーが[開く]ダイアログボックスを呼び出すことによって、彼らの選択を行うことができます。
:次のように読み取ることができ
ます。Public Subテスト()
Application.ScreenUpdating = Falseの
点心などの文字列のファイル名
のファイル名= Application.GetOpenFilenameを
Workbooks.Openファイル名
(1)(1)ThisWorkbook.Sheets .Range( "B1")ActiveWorkbook.Sheets =。
ActiveWorkbook.Close
Application.ScreenUpdating = Trueの
End Subの
7、結論
Excelのオブジェクトのメソッドのファイル操作を使用すると、初心者に適した、最も便利な、最も簡単です。私たちは、単にそのテーブルの内容を読めば、Excelのファイル形式については、これは好ましい方法です。テキストファイルを操作するために、第二の方法は、テキストを表に変換するには、より便利で、この方法の使用にも適して使用します。