標題:
兩個"獨立"運作的Excel活頁薄如何用DDE互傳資訊??
[打印本頁]
作者:
samsung2888
時間:
2013-11-14 18:08
標題:
兩個"獨立"運作的Excel活頁薄如何用DDE互傳資訊??
小弟有兩個Excel 檔案必須獨立開Excel 去運作程式.....因為開單一Excel程式會出錯~
我知道一個Excel開兩個檔案可以用DDE字串打在格子裡便可互傳資料,但獨立開兩個Excel就無法傳送資料....
這種情況我是否需要用到API去連接兩本獨立的運作的活頁薄?技術上可行嗎?謝謝各位大大
ps:我不想用csv去互傳資料....要即時的
作者:
c_c_lai
時間:
2013-11-14 20:21
回復
1#
samsung2888
請上傳檔案,否則難以理解你的真正問題。
作者:
GBKEE
時間:
2013-11-15 08:59
回復
1#
samsung2888
第一個Excel: ThisWorkbook的程式碼
Public APP As New Application
Private Sub Workbook_Open()
APP.Visible = True '第二個Excel: 顯示
APP.Workbooks.Open ("D:\BOOK1.XLS") 第二個Excel:開啟活頁簿
End Sub
複製代碼
Sub Ex()
ThisWorkbook.Sheets(1).[A1] = APP.Workbooks(1).Sheets(1).[A1]
End Sub
複製代碼
作者:
samsung2888
時間:
2013-11-16 09:55
回復
3#
GBKEE
GBKEE大大....你太厲害了!!!我就是要找這個方法!!這問題困擾了我很久....果然是超級版主....真的非常感恩.....謝謝!!!!:handshake
作者:
barrykuo
時間:
2014-7-7 15:39
回復
3#
GBKEE
GBKEE大大,你好!
按您的程序
如果BOOK1.XLS放在某個目錄下
Public APP As New Application
Private Sub Workbook_Open()
APP.Visible = True '第二個Excel: 顯示
APP.Workbooks.Open "D:\programs\BOOK1.XLS" '第二個Excel:開啟活頁簿
End Sub
複製代碼
結果下面執行出現錯誤訊息=「執行階段錯誤424」說明此觸需要物件。
Sub Ex()
ThisWorkbook.Sheets(1).[A1] = APP.Workbooks("D:\programs\BOOK1.XLS").Sheets(1).[A1]
End Sub
複製代碼
請問哪裡出錯?
作者:
yangjie
時間:
2014-7-8 10:05
回復
3#
GBKEE
GBKEE大大,你好!
按您的程序
自己練習
Private Sub CommandButton4_Click()
Set wb = ThisWorkbook
Application.Visible = True
APP.Visible = True
APP.Workbooks.Open ThisWorkbook.Path & "\B.xls"
APP.Workbooks("\B.xls").Sheets(1).Cells.Copy wb.Sheets(1).Cells '偵錯到此列
'Set APP = Nothing
Application.Visible = False
End Sub
1.如何可將Workbooks("\B.xls").Sheets(1).Cells 整個copy 到 wb.Sheets(1).
可用 CopyAs ?
2.APP.Workbooks("\B.xls").Sheets(1)可寫入嗎?
敬請指導
作者:
stillfish00
時間:
2014-7-9 22:59
回復
5#
barrykuo
Ex()中 Workbooks("D:\programs\BOOK1.XLS") 錯誤
改為
Workbooks("BOOK.XLS") 或 Workbooks(1)
作者:
yangjie
時間:
2014-7-9 23:44
回復
6#
yangjie
自己 Try 很久 終於可 cells.copy
功力差,所以很長
Private Sub CommandButton4_Click()
Set wb = ThisWorkbook
wb.Activate
Application.Visible = True
APP.Visible = True
Application.DisplayAlerts = False
Set wb1 = APP.Workbooks.Open(ThisWorkbook.Path & "\B.xls", True, False)
wb1.Activate
APP.Workbooks(1).Sheets(1).Activate
APP.Cells.Copy
wb.Activate
Windows("A.xls").Activate
Sheets(1).Cells.ClearContents
Cells(1, 1).Select
ActiveSheet.Paste
APP.CutCopyMode = False
Application.CutCopyMode = False
wb.Save
APP.Quit
Sheets(1).Cells(1, 1).Activate
Application.DisplayAlerts = True
Application.Visible = False
End Sub
若要copy 多頁 就累了
作者:
barrykuo
時間:
2014-7-10 13:05
回復
7#
stillfish00
回stillfish00大大,謝謝您!
可我真的存一個文件叫[book1.xls],而且存在目錄為[D:\programs底下],按GBKEE大大程序執行Ex巨集出現錯誤訊息=「執行階段錯誤424」說明此觸需要物件。
所以不懂Ex()底下這樣寫是不是不對,APP.Workbooks("D:\programs\BOOK1.XLS").Sheets(1).[A1]。
感謝你們!
作者:
GBKEE
時間:
2014-7-10 17:20
回復
8#
yangjie
Private Sub CommandButton4_Click()
With New Application
.Visible = True
.Workbooks.Open (ThisWorkbook.Path & "\B.xls")
.Workbooks("B.xls").Sheets(1).Cells.Copy
With ThisWorkbook.Sheets(1)
.Range("A1").Select
.PasteSpecial Format:="XML 試算表"
End With
.Application.CutCopyMode = False
.Quit
End With
End Sub
複製代碼
作者:
yangjie
時間:
2014-7-12 00:22
回復
10#
GBKEE
漂亮
萬分感激 GBKEE版大
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)