vbとexcelのシームレスな接続を実現する方法
8460 ワード
どこから来たのかもう知らない......
vbはよく使われるアプリケーション開発ツールの一つであり、vbのレポート機能が限られているため、レポートフォーマットが変化すると、プログラムを修正しなければならず、アプリケーションのメンテナンスに大きな不便をもたらす.そのため、多くのプログラマーはexeclの強力なレポート機能を十分に利用してレポート機能を実現しています.しかしvbとexcelはそれぞれ異なる応用システムに属しているため,それらをどのように有機的に結びつけるかは,我々の研究に値する課題である.一、vb読み書きexcel表:vb自身が自動化機能を提唱してexcel表を読み書きすることができ、その方法は以下の通りである:1、工事の中でmicrosoft excelタイプライブラリを引用する:“工事”メニューの中から“引用”欄を選択する;Microsoft excel 9.0 object library(excel 2000)を選択し、「OK」を選択します.プロジェクトでexcelタイプライブラリを参照することを示します.2、汎用オブジェクトの宣言中にexcelオブジェクトを定義する:
3、プログラムの中でexcel表の常用コマンドを操作する:
4、以上のvbコマンドを使用してexcelテーブルを操作する場合、excelオブジェクトが表示されないように設定しない限り、vbプログラムは他の操作を継続することができ、excelを閉じることもでき、同時にexcelを操作することもできる.ただし、excel操作中にexcelオブジェクトを閉じると、vbプログラムはわかりません.excelオブジェクトを使用すると、vbプログラムに自動化エラーが発生します.vbを形成するプログラムはexcelの状況を完全に制御できず、vbとexcelが離脱する.二、excelのマクロ機能:excelはvisual basicエディタを提供し、visual basicエディタを開き、その中にエンジニアリング属性ウィンドウがあり、右クリックメニューの「挿入モジュール」をクリックすると、「モジュール1」を追加し、このモジュールではvisual basic言語を用いて関数とプロセスを記述し、マクロと呼ぶことができる.ここで、excelには2つの自動マクロがあります.1つはスタートマクロ(sub auto_open()であり、もう1つはクローズマクロ(sub auto_close()です.これらの特性は、excelで起動マクロを含むワークブックを打つと、自動的に起動マクロが実行され、同様に、閉じたマクロを含むワークブックを閉じると自動的に閉じマクロが実行されることです.ただし、vbの自動化機能によりexcelワークシートを呼び出す場合、マクロの起動と閉じるは自動的に実行されず、vbでコマンドxlbookを通過する必要がある.runautomacros(xlautoopen)とxlbook.runautomacros(xlautoclose)は、起動マクロを実行し、マクロを閉じる.三、vbとexcelの相互接続:excelの起動マクロとクローズマクロを十分に利用し、vbとexcelの相互接続を実現することができる.その方法は以下の通りである:excelの起動マクロにプログラムを追加し、その機能はディスクにフラグファイルを書き込むと同時に、クローズマクロにこのフラグファイルを削除するプログラムを追加する.vbプログラムは、実行時にこのフラグファイルが存在するか否かを判断してexcelが開いているか否かを判断し、このフラグファイルが存在する場合、excelオブジェクトが実行中であることを示すため、他のプログラムの実行を禁止すべきである.このフラグファイルが存在しない場合は、excelオブジェクトがユーザーによって閉じられていることを示します.excelオブジェクトを使用して実行する場合は、excelオブジェクトを再作成する必要があります.四、例:1、vbでformを確立し、その上に2つのコマンドボタンを配置し、command 1のcaption属性をexcelに変更し、command 2のcaption属性をendに変更する.次に、次のプログラムを入力します.
2、dディスクルートディレクトリにtempというサブディレクトリを作成し、tempディレクトリの下に「bb.xls」というexcelファイルを作成する.3、「bb.xls」でvisual basicエディタを開き、プロジェクトウィンドウでマウスボタンをクリックしてモジュールを挿入し、モジュールに以下のプログラムディスクを入力する.
4、vbプログラムを実行し、excelボタンをクリックするとexcelシステムを開くことができ、excelシステムを開くと、vbプログラムとexcelはそれぞれ2つの異なるアプリケーションシステムに属し、同時に操作することができ、システムが判断を加えたため、vbプログラムでexcelボタンを繰り返しクリックすると、excelが開いたことを示す.EXcelでexcelを閉じてからexcelボタンを押すと、excelが再開されます.EXcelが開くかどうかにかかわらず、vbプログラムでexcelを閉じることができます.これによりvbとexcelのシームレスな接続が実現される.
vbはよく使われるアプリケーション開発ツールの一つであり、vbのレポート機能が限られているため、レポートフォーマットが変化すると、プログラムを修正しなければならず、アプリケーションのメンテナンスに大きな不便をもたらす.そのため、多くのプログラマーはexeclの強力なレポート機能を十分に利用してレポート機能を実現しています.しかしvbとexcelはそれぞれ異なる応用システムに属しているため,それらをどのように有機的に結びつけるかは,我々の研究に値する課題である.一、vb読み書きexcel表:vb自身が自動化機能を提唱してexcel表を読み書きすることができ、その方法は以下の通りである:1、工事の中でmicrosoft excelタイプライブラリを引用する:“工事”メニューの中から“引用”欄を選択する;Microsoft excel 9.0 object library(excel 2000)を選択し、「OK」を選択します.プロジェクトでexcelタイプライブラリを参照することを示します.2、汎用オブジェクトの宣言中にexcelオブジェクトを定義する:
dim xlapp as excel.application
dim xlbook as excel.workbook
dim xlsheet as excel.worksheet
3、プログラムの中でexcel表の常用コマンドを操作する:
set xlapp = createobject("excel.application") excel
set xlbook = xlapp.workbooks.open(" ") excel
xlapp.visible = true excel ( )
set xlsheet = xlbook.worksheets(" ")
xlsheet.cells(row, col) = (row,col)
xlsheet.printout
xlbook.close (true)
xlapp.quit excel
set xlapp = nothing xlapp
xlbook.runautomacros (xlautoopen) excel
xlbook.runautomacros (xlautoclose) excel
4、以上のvbコマンドを使用してexcelテーブルを操作する場合、excelオブジェクトが表示されないように設定しない限り、vbプログラムは他の操作を継続することができ、excelを閉じることもでき、同時にexcelを操作することもできる.ただし、excel操作中にexcelオブジェクトを閉じると、vbプログラムはわかりません.excelオブジェクトを使用すると、vbプログラムに自動化エラーが発生します.vbを形成するプログラムはexcelの状況を完全に制御できず、vbとexcelが離脱する.二、excelのマクロ機能:excelはvisual basicエディタを提供し、visual basicエディタを開き、その中にエンジニアリング属性ウィンドウがあり、右クリックメニューの「挿入モジュール」をクリックすると、「モジュール1」を追加し、このモジュールではvisual basic言語を用いて関数とプロセスを記述し、マクロと呼ぶことができる.ここで、excelには2つの自動マクロがあります.1つはスタートマクロ(sub auto_open()であり、もう1つはクローズマクロ(sub auto_close()です.これらの特性は、excelで起動マクロを含むワークブックを打つと、自動的に起動マクロが実行され、同様に、閉じたマクロを含むワークブックを閉じると自動的に閉じマクロが実行されることです.ただし、vbの自動化機能によりexcelワークシートを呼び出す場合、マクロの起動と閉じるは自動的に実行されず、vbでコマンドxlbookを通過する必要がある.runautomacros(xlautoopen)とxlbook.runautomacros(xlautoclose)は、起動マクロを実行し、マクロを閉じる.三、vbとexcelの相互接続:excelの起動マクロとクローズマクロを十分に利用し、vbとexcelの相互接続を実現することができる.その方法は以下の通りである:excelの起動マクロにプログラムを追加し、その機能はディスクにフラグファイルを書き込むと同時に、クローズマクロにこのフラグファイルを削除するプログラムを追加する.vbプログラムは、実行時にこのフラグファイルが存在するか否かを判断してexcelが開いているか否かを判断し、このフラグファイルが存在する場合、excelオブジェクトが実行中であることを示すため、他のプログラムの実行を禁止すべきである.このフラグファイルが存在しない場合は、excelオブジェクトがユーザーによって閉じられていることを示します.excelオブジェクトを使用して実行する場合は、excelオブジェクトを再作成する必要があります.四、例:1、vbでformを確立し、その上に2つのコマンドボタンを配置し、command 1のcaption属性をexcelに変更し、command 2のcaption属性をendに変更する.次に、次のプログラムを入力します.
dim xlapp as excel.application excel
dim xlbook as excel.workbook
dim xlsheet as excel.worksheet
private sub command1_click() excel
if dir("d:\temp\excel.bz") = "" then excel
set xlapp = createobject("excel.application") excel
xlapp.visible = true excel
set xlbook = xlapp.workbooks.open("d:\temp\bb.xls") excel
set xlsheet = xlbook.worksheets(1) excel
xlsheet.activate
xlsheet.cells(1, 1) = "abc" 1
xlbook.runautomacros (xlautoopen) excel
else
msgbox ("excel ")
end if
end sub
private sub command2_click()
if dir("d:\temp\excel.bz") <> "" then vb excel
xlbook.runautomacros (xlautoclose) excel
xlbook.close (true) excel
xlapp.quit excel
end if
set xlapp = nothing excel
end
end sub
2、dディスクルートディレクトリにtempというサブディレクトリを作成し、tempディレクトリの下に「bb.xls」というexcelファイルを作成する.3、「bb.xls」でvisual basicエディタを開き、プロジェクトウィンドウでマウスボタンをクリックしてモジュールを挿入し、モジュールに以下のプログラムディスクを入力する.
sub auto_open()
open "d:\temp\excel.bz" for output as #1
close #1
end sub
sub auto_close()
kill "d:\temp\excel.bz"
end sub
4、vbプログラムを実行し、excelボタンをクリックするとexcelシステムを開くことができ、excelシステムを開くと、vbプログラムとexcelはそれぞれ2つの異なるアプリケーションシステムに属し、同時に操作することができ、システムが判断を加えたため、vbプログラムでexcelボタンを繰り返しクリックすると、excelが開いたことを示す.EXcelでexcelを閉じてからexcelボタンを押すと、excelが再開されます.EXcelが開くかどうかにかかわらず、vbプログラムでexcelを閉じることができます.これによりvbとexcelのシームレスな接続が実現される.