2017-06-30 7 views
-1

VBAを使用してExcelファイルを接続しようとしています。Excelファイルをデータベースとして使用して他のExcelファイルを作成する場合のベストプラクティスは何ですか?

私たちは会社であり、私はユーザー名とアドレスをExcelファイル(データベース)と仮定します。このようなファイルが1つあります。

私の会社には従業員がN人あり、この従業員はアンケートに回答しなければなりません。各従業員は自分のユーザー名を入力する必要があります。だから私は彼が私のデータベースのExcelファイルに基づいているリストからユーザー名を選んで欲しい。 あなたが想像しているように、N社の従業員は同時にアンケートに回答し、Excelデータベースは共有フォルダにあります。だから、私はそれを避けようとしている。

これは可能ですか? ありがとうございます

+0

はADODBの実装については、リンクによって答えを見てみましょう:[1](https://stackoverflow.com/a/40869308/2165759)、 [2](https://stackoverflow.com/a/34376642/2165759)、[3](https://stackoverflow.com/a/34601871/2165759)。 – omegastripes

答えて

1

要約:はい!

他のExcelブックを開いて読み込むことは非常に可能です。また、表示されないようにすることもできます。

トピックについての読解を行う必要があります。 this article on Workbook Open and Closeから始めることができます。

1

はい。この方法は、他のブックが開いているかどうかによって異なります(最も簡単なシナリオはブックが開いている場所です)。

ワークブックは、ブックが全体に閉じたままにしておく場合ワークブックは上記のように、あなたが「直接」VBAメソッドを使用することはできません、

を開いていない

Dim dbWb As Workbook 
Set dbWb = Workbooks("Nameofworkbook.xls") ' If the workbook is opened already 
Set dbWb = Workbooks.Open("X:\path\nameofworkbook.xls") ' If the workbook needs to be opened 

Debug.Print dbWb.Worksheets(1).Range("A1").Value ' Read some value from the workbook 

開いていますなぜなら、閉じたワークブックでは不可能な何らかの方法でファイルにアクセスできるからです。ファイルの内容にアクセスするには、Excelアプリケーションのコンテキストで開く必要があります。そのためには、SQLインターフェイスを提供するADODBが必要です。

ADOは私の強みではなく、other SO questions relating to this have good answers(例:this one)のワークフローに慣れていなければなりません。

他のリソースもあります
https://support.microsoft.com/en-us/help/278973/excelado-demonstrates-how-to-use-ado-to-read-and-write-data-in-excel-w
https://technet.microsoft.com/en-us/library/ee692882.aspx

関連する問題