Tôi đã có excelRTDserver.py và chạy trong Excel 2010 (32 bit) bằng cách thay đổi giá trị EXCEL_TLB_MINOR
thành 7
. Tôi có thể thấy máy chủ trong danh sách bổ trợ và nếu tôi nhập =RTD("Python.RTD.TimeServer","","seconds","5")
vào một ô, tôi sẽ nhận được thời gian hiện tại. Nhưng nó không bao giờ cập nhật. Nếu tôi thay đổi "5" sang một số khác, tôi nhận được bản cập nhật nhưng sau thay đổi ban đầu, nó sẽ không bao giờ thay đổi nữa.Máy chủ Excel RTD bằng Python không cập nhật dữ liệu
Làm cách nào để cập nhật? Tôi tìm thấy người khác có vấn đề tương tự here, nhưng không có giải pháp.
CẬP NHẬT: Tôi có thêm một chút nữa - có một ngoại lệ được nêu trong ServerStart khi truyền đối tượng gọi lại PyIDispatch vào đối tượng gọi lại IRTDUpdateEvent. Sử dụng this method để nắm bắt thông báo lỗi, tôi nhận được "Không thể tạo tệp khi tệp đó đã tồn tại". Nếu tôi làm theo đề nghị here và sử dụng win32com.client.CastTo(CallbackObject,'IRTDUpdateEvent')
Tôi nhận được "đối tượng COM này không thể tự động hóa quy trình makepy - hãy chạy makepy thủ công cho đối tượng này", nhưng tôi đã chạy makepy cho Thư viện đối tượng Microsoft Excel 12.0 (1.6).
Mọi trợ giúp sẽ được đánh giá cao.
Vâng, tôi đã đăng câu hỏi ở đó. Có vẻ như tôi không may mắn. – MatlabSorter