全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1291
推到 Plurk!
推到 Facebook!

Macro傳值的問題

答題得分者是:timhuang
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-06 13:22:21 IP:210.65.xxx.xxx 未訂閱
大家好!不好意思又有一個VBA的問題,這次想請教 如何把值由Delphi丟給VBA的Macro用? 變數有2個以上的! 謝謝!
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-06 14:13:38 IP:147.8.xxx.xxx 未訂閱
引言: 大家好!不好意思又有一個VBA的問題,這次想請教 如何把值由Delphi丟給VBA的Macro用? 變數有2個以上的! 謝謝!
What do you mean? 1) Delphi -> office -> VBA 2) office -> VBA -> Delphi 3) WSH -> Delphi 4) Delphi -> WSH? For 2 & 3, I think you need to create a COM object in Delphi. For others please specify the details.
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-06 16:37:25 IP:218.163.xxx.xxx 未訂閱
 
 
excel:
  Function F(A As Integer, B As String)
   MsgBox str(A) & B
  End Function
delhpi:
  MyExcel.run( 'F',1,'test');    這樣就行了...run(第一個是函數名稱,後面是他的參數....)    
永遠追不上技術更新的速度~~< src="http://140.134.4.20/~g8905202/pucca.gif">
------
星期一,二...無窮迴圈@@
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-06 18:06:13 IP:203.95.xxx.xxx 未訂閱
Hi, 和上次的 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31251    是一樣的操作方法啊..    
EXCEL中:
Sub Macro1(ByVal a As Integer, ByVal b As String)
  MsgBox a
  MsgBox b
End Sub    delphi中:
procedure TForm1.Button1Click(Sender: TObject);
var
  excel: Variant;
  a, b, c: string;
begin
  excel := CreateOleObject('excel.application');
  excel.WorkBooks.Open('c:\1.xls');
  excel.Visible := true;
  excel.Run('Module1.Macro1', 20, 'test');
  excel.Quit;
  excel := Unassigned;
end;    
這樣在 excel 中就會 show 出 20, 及 'test'
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-08 00:02:10 IP:61.230.xxx.xxx 未訂閱
謝謝各位高手替我解答囉! 在macro宣告變數那邊好像不加Byval,就不能執行,這邊我參考了其他的文章,大概知道是為什麼,謝謝你們!
系統時間:2024-05-20 8:48:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!