Excel/Word 2003 - Sao chép giá trị ô Excel vào dấu trang/trường trong biểu mẫu Word bằng VBA

Chào mọi người, tôi hy vọng vẫn nhận được những câu trả lời hữu ích như trên MS Groups! Tôi đã tìm kiếm chủ đề này trên diễn đàn nhưng không thấy chủ đề nào tương tự.

Tôi có một bảng tính ngân sách Excel 2003 và một biểu mẫu Word 2003. Tôi muốn người dùng có thể nhập thông tin ngân sách của họ vào bảng tính Excel, nhấn một nút để chạy macro mở một biểu mẫu Word 2003 cụ thể ("Purchasing Form.dot"), và sau đó sao chép các giá trị ô vào các trường biểu mẫu đã được đánh dấu thích hợp trong biểu mẫu Word. Tôi đã làm cho một nửa macro bên dưới hoạt động, nhưng nó cứ báo "cần đối tượng" khi tôi cố gắng sao chép nó vào dấu trang biểu mẫu Word. Như bạn có thể thấy bên dưới, tôi đang cố gắng sao chép ô D6 vào dấu trang "NHÀ CUNG CẤP". Nếu tôi có thể nhận được sự trợ giúp về một cách hiệu quả để sao chép giá trị ô Excel vào dấu trang trường biểu mẫu Word, thì tôi sẽ có thể hoàn thành dự án này ngay lập tức, vì vậy tôi rất biết ơn bất kỳ sự giúp đỡ nào và cơ hội được học hỏi. :-) - mokshadavid

Sub Copy_Excel_Cell_to_Word_Form()

'Mở tài liệu Word'
Đặt wdApp = CreateObject("Word.Application")
wdApp.documents.Open "C:\Projects\Purchasing Form.dot"
wdApp.Visible = True

Bảng tính (1).Phạm vi ("D6"). Sao chép

ActiveDocument.Bookmarks("VENDOR").Range.PasteSpecial


End Sub




Trả lời:

Nếu bạn muốn điều khiển một ứng dụng khác, thì bạn luôn phải tham chiếu đến đối tượng đã được tạo.

ActiveDocument không phải là một đối tượng Excel, đó là lý do gây ra lỗi.

Andreas.

Sub Copy_Excel_Cell_to_Word_Form()
Dim wdApp As Object 'Word.Application
Dim wdDoc As Object 'Word.Document

'Mở một phiên bản Microsoft Word mới'
Đặt wdApp = CreateObject("Word.Application")
'Hiển thị ứng dụng'
wdApp.Visible = True
'Mở tài liệu Word'
Set wdDoc = wdApp.documents.Open("C:\Projects\Purchasing Form.dot")

Giá trị sao chép
Bảng tính (1).Phạm vi ("D6"). Sao chép
'Dán vào tài liệu Word'
wdDoc.Bookmarks("VENDOR").Range.PasteSpecial
End Sub



Trả lời:

Thử:

Khai báo wdApp là Object
Dim wdDoc as Object
'Mở tài liệu Word'
Đặt wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.documents.New("C:\Projects\Purchasing Form.dot")
wdDoc.Bookmarks("Vendor").Range.Text = Worksheets(1).Range("D6").Value
wdApp.Visible = True

Xem bài viết "Điều khiển Word từ Excel" tại:

http://www.word.mvps.org/FAQs/InterDev/ControlWordFromXL.htm

và bài viết "Đóng sách sớm so với đóng sách muộn" tại:

http://www.word.mvps.org/FAQs/InterDev/EarlyvsLateBinding.htm

Hi vọng điều này sẽ hữu ích.

Doug Robbins - Chuyên gia xuất sắc về ngôn từ,
dkr[atsymbol]mvps[dot]org
Được đăng tải qua Community Bridge

"mokshadavid" đã viết trong tin nhắn news:*** Địa chỉ email đã bị xóa vì lý do bảo mật ***...

Chào mọi người, tôi hy vọng vẫn nhận được những câu trả lời hữu ích như trên MS Groups! Tôi đã tìm kiếm chủ đề này trên diễn đàn nhưng không thấy chủ đề nào tương tự.

Tôi có một bảng tính ngân sách Excel 2003 và một biểu mẫu Word 2003. Tôi muốn người dùng có thể nhập thông tin ngân sách của họ vào bảng tính Excel, nhấn một nút để chạy macro mở một biểu mẫu Word 2003 cụ thể ("Purchasing Form.dot"), và sau đó sao chép các giá trị ô vào các trường biểu mẫu đã được đánh dấu thích hợp trong biểu mẫu Word. Tôi đã làm cho một nửa macro bên dưới hoạt động, nhưng nó cứ báo "cần đối tượng" khi tôi cố gắng sao chép nó vào dấu trang biểu mẫu Word. Như bạn có thể thấy bên dưới, tôi đang cố gắng sao chép ô D6 vào dấu trang "NHÀ CUNG CẤP". Nếu tôi có thể nhận được sự trợ giúp về một cách hiệu quả để sao chép giá trị ô Excel vào dấu trang trường biểu mẫu Word, thì tôi sẽ có thể hoàn thành dự án này ngay lập tức, vì vậy tôi rất biết ơn bất kỳ sự giúp đỡ nào và cơ hội được học hỏi. :-) - mokshadavid

Sub Copy_Excel_Cell_to_Word_Form()

'Mở tài liệu Word'
Đặt wdApp = CreateObject("Word.Application")
wdApp.documents.Open "C:\Projects\Purchasing Form.dot"
wdApp.Visible = True

Bảng tính (1).Phạm vi ("D6"). Sao chép

ActiveDocument.Bookmarks("VENDOR").Range.PasteSpecial


End Sub


Doug Robbins - Chuyên gia xuất sắc về Word (dkr[atsymbol]mvps[dot]org)

Comments

Popular posts from this blog

Xử lý hàng loạt các tệp Excel được bảo vệ bằng mật khẩu

Thu hẹp và mở rộng cột trong Excel

Excel: Tìm và trả về "số cuối cùng" trong một cột, trong đó cột chứa: cả ô trống và số dương tùy ý (lớn hơn 0).