Truyền tên tệp dữ liệu qua dòng lệnh tới Macro (Microsoft Word)
Grace đang tạo macro Word thực hiện phối thư. Cô ấy muốn khởi động Word từ dòng lệnh và để nó chạy macro này, điều mà cô ấy biết cách thực hiện. Những gì cô ấy đang cố gắng tìm ra là làm thế nào, trên cùng một dòng lệnh, chuyển một tên tệp dữ liệu có thể được macro truy cập để sử dụng tiếp theo.
Một lệnh được nhập trên dòng lệnh của hệ điều hành có thể bao gồm các tham số; việc này xảy ra mọi lúc. Các tham số đó sau đó có thể được truy cập bằng cách mã hóa lệnh đang được thực thi. Vấn đề là khi bạn khởi động Word trên dòng lệnh, bất kỳ tham số nào cũng được sử dụng (hoặc cố gắng sử dụng) bởi chính Word. Bạn cần một cách để Word nhận ra rằng các tham số đó là dành cho macro và sau đó chuyển chúng cho macro. Hành vi “nhận ra và chuyển giao” này không phải là hành vi được tích hợp trong Word.
Tuy nhiên, có một số điều bạn có thể làm để khắc phục hạn chế này, nhưng tất cả đều liên quan đến việc làm việc bên ngoài Word, ở cấp API Windows. Đây là công cụ khá nâng cao và một số gợi ý về cách sử dụng nó có thể được tìm thấy tại các trang này:
http://vb.mvps.org/samples/CmdLine/ http://msdn.microsoft.com/en-us/library/ms178843.aspx
Một cách tiếp cận đơn giản hơn có thể chỉ là thực hiện một số thay đổi đối với macro chạy khi khởi động Word. Ví dụ, macro có thể hiển thị một InputBox để yêu cầu người dùng nhập tên tệp. Tương tự, macro có thể hiển thị hộp thoại Mở và cho phép người dùng chọn tệp sẽ được xử lý. Cuối cùng, nếu tên tệp được chuẩn hóa (có nghĩa là nó luôn giống nhau và không thay đổi), bạn có thể mã trực tiếp tên tệp vào macro.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (13068) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365.