1 / 4
文档名称:

ExecuteExcel4Macro使用说明.pdf

格式:pdf   大小:145KB   页数:4页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ExecuteExcel4Macro使用说明.pdf

上传人:鼠标 2023/6/8 文件大小:145 KB

下载得到文件列表

ExecuteExcel4Macro使用说明.pdf

文档介绍

文档介绍:该【ExecuteExcel4Macro使用说明】是由【鼠标】上传分享,文档一共【4】页,该文档可以免费在线阅读,需要了解更多关于【ExecuteExcel4Macro使用说明】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。ExecuteExcel4Macro(宏函数)使用说明 
用 ExecuteExcel4Macro 从未打开的 Excel 工作簿中读取数据(转
载) 
从另外一个未打开的 Excel 文件中读取数据的函数 
下面这个函数调用 XLM 宏从未打开的工作簿中读取数据. 
*注意:   该函数不能用于公式. 

GetValue 函数,需要以下四个变量 
path:   未打开的 Excel 文件的路径  (.,  "d:\test")   
file:   文件名(.,  "")   
sheet: 工作表的名称  (.,  "Sheet1")   
ref:   引  用的单元格  (.,  "C4")   
'*********函数如下 
Private  Function  GetValue(path,  file,  sheet,  ref) 
'   从  未打开的 Excel 文件中检索数据 
Dim  arg  As  String 
'   确  保该文件存在 
If  Right(path,  1)  <>  "\"  Then  path  =  path  &  "\" 
If  Dir(path  &  file)  =  ""  Then 
GetValue  =  "File  Not  Found" 
Exit  Function 
End  If 
'   创  建变量 
arg  =  "'"  &  path  &  "["  &  file  &  "]"  &  sheet  &  "'!"  &  _ 
Range(ref).Range("A1").Address(,  ,  xlR1C1) 
'   执  行 XLM 宏 
GetValue  =  ExecuteExcel4Macro(arg) 
End  Function
使用该函数: 
将该语句复制到 VBA 的模块中,然后,在适当的语句中调用该函数. 
下面的例子显示 D:\test 下的文件  的 Sheet1 中的单元格”A1”
的内容. 
Sub  TestGetValue() 
p  =  "d:\test" 
f  =  "" 
s  =  "Sheet1" 
a  =  "A1" 
MsgBox  GetValue(p,  f,  s,  a) 
End  Sub 

1200 个
数值(100 行 12 列),并将结果填到当前工作表中. 
Sub  TestGetValue2() 
p  =  "d:\test  " 
f  =  "" 
s  =  "Sheet1" 
  =  False 
For  r  =  1  To  100 
For  c  =  1  To  12 
a  =  Cells(r,  c).Address 
Cells(r,  c)  =  GetValue(p,  f,  s,  a) 
Next  c 
Next  r 
  =  True 
End  Sub 
说明:  如果工作簿处于隐藏状态,或者工作表是图表工作表,将会报
错.
ExecuteExcel4Macro 使用说明 

ExecuteExcel4Macro 方法 
請參見 套用至 範例 特定   
執行  Microsoft  Excel    集函數,然後傳回此函數的結果。傳
回結果的型態取決於函數的型態。 

(String) 

expression   選擇性的。傳回  Application 物件的運算式。 

String   必選的  String資  料型態。不帶等號的  Microsoft  Excel   
巨集語言函數。所有參照必須是像  R1C1 這樣的字串。如果  String 內
包 含 雙 引 號 , 則 必 須 寫 兩 個 。 例 如 , 要 執 行 此 巨 集 函 數 
=MID("sometext",1,4),String 應寫成  [MID(""sometext"",1,4)]。 

註解 
Microsoft  Excel    巨集不在目前活頁簿或工作表的環境中求值。
也就是說所有的參照都應該是外部參照,而且需要明確指定活頁簿名
稱 。   例 如 , 要 在   Book1  中 執 行   Microsoft  Excel    巨 集 
[My_Macro]  ,必須使用   [Book1!My_Macro()]。如果不指定活頁簿
名稱,此方法將失敗。 

範例 
此範例對  Sheet1 的  C3 儲存格執行  (42) 巨集函數,然
後在訊息方塊中顯示結果。(42) 巨集函數傳回目前視窗左限
到目前儲存格的左邊之間的水平距離。Visual  Basic中  沒有與此巨集函
數直接等價的函數。 

Worksheets("Sheet1").Activate
Range("C3").Select 
MsgBox  ExecuteExcel4Macro("(42)") 


'***直接讀取 c:\(不打開)中 的值另一種參考代碼 
(比一楼的写法简单许多) 
Sub  TestGetValue() 
str0  =  "'C:\[]Sheet1'!R1C1" 
MsgBox  ExecuteExcel4Macro(str0) 
End  Sub) 

雖然 Excel  VBA的相關說明只有一點點,但我覺的 
ExecuteExcel4Macro 似乎好像有更多的用法 ,有待大家一同去發
掘了