VBA 和其他應用程式互動

2021-10-09 05:29:47 字數 1478 閱讀 1293

今天主要學學vba 和其他應用程式的互動

一、了解繫結的概念

每個office程式都有各自的物件庫,也就是每個程式可用的物件、方法和屬性、所以要能使excel訪問另外的office程式,就需要將另乙個office程式繫結起來。分為兩種:早期繫結、後期繫結

①早期繫結

需要顯式地將客戶端應用程式指向伺服器端應用程式的物件庫

優點:比後期繫結快、可以在物件瀏覽器完全訪問伺服器端應用程式的物件模型、可以使用智慧型提示、可自動訪問伺服器端應用程式內建常亮

使用方法:vbe中選擇「工具」——「引用」

②後期繫結

不需要將客戶端應用程式指向伺服器端應用程式的物件庫

優點:不依賴版本,不會因為相容性問題執行失敗

getobject和createobject:都可以返回對物件的引用。

getobject:可以使用已經在執行的應用程式

createobject:函式建立乙個應用程式的新例項介面

③簡單的例子,檢視建立的word版本,建立之前呢,先選擇「工具」——「引用」繫結word的物件庫

早期繫結:

sub wordcreate()

end sub

後期繫結:

二、執行word任務不管三七二十一,先選擇「工具」——「引用」繫結word的物件庫

把excel的資料傳入word:我在"e:\vba呀呀呀\測試.docx"檔案內建立了乙個書籤,命名為了「圖表」,用來接收excel賦值的資料,具體**如下:

sub worddata()

'定義word文件物件、word實際存放資料的地方、以及例項化乙個word程式

dim wddoc as word.document

dim wdrng as word.range

'賦值set wddoc = word.documents.open("e:\vba呀呀呀\測試.docx")

'賦值set wdrng = wddoc.bookmarks("圖表").range

on error resume next

'複製excel sheet1的資料

sheets("sheet1").range("a1:h41").copy

'貼上excel sheet1的資料

wdrng.paste

end sub

今天的內容實在有點短,越到後面越是晦澀難懂,等理解通透了再多更新一些

在其他應用程式vba中使用SQL

有時您想在excel中使用sql?我建立這個模組直接得到結果作為字串 所有專案從fieldloop像這樣a b c d用 分隔符 或者你可以呼叫這個函式到sub並返回乙個陣列來指定範圍在表在access中查詢 或者甚至直接應用使用ctrl shift enter的陣列格式 記住首先選擇多個單元格 w...

intent 啟動其他應用程式應用

被啟動activity中加入標籤 啟動activity中 intent opensomediagintent new intent opensomediagintent.addcategory android.intent.category.haha handlerthreadactivity.th...

iOS openURL 執行其他的應用程式

map email mailto tel tel 10086 msg sms 10086 map email mailto tel tel 10086 msg sms 10086 除此之外,還可以自己定義url,方法如下 展開url types,再展開item1,將item1下的url identi...