Sử dụng Excel VBA để di chuyển đến trang 136 trên Mẫu Word
Câu hỏi:
1) Tôi muốn sử dụng Excel VBA để di chuyển con trỏ đến trước chữ "C" trong tiêu đề "Kết hợp Báo cáo Nguồn lực Ngân sách theo Tài khoản Tổ chức Con" (tiêu đề này nằm ở khoảng trang 136) của Mẫu Word. Ngoài ra, tôi muốn con trỏ di chuyển nhanh hơn.
Xin lưu ý rằng dòng mã objParagraph.Find.Text bên dưới không hoạt động với tôi. Vậy cú pháp đúng là gì?
Tên tập tin:
Tệp Word: FY20 AFR-2.docx
Tệp Excel: FY2020 PD12 RSI-SBR RFWD TIER Revise.xlsx (không liên quan đến câu hỏi này)
Mã VBA trong Excel:
Sub DHSBOTRSISBR()
Dim objWord
Làm mờ objDoc
Dim objSelection
Đặt objWord = CreateObject("Word.Application") 'Tạo đối tượng của Microsoft Word
Đặt objDoc = objWord.Documents.Open("C:\Users\david.surti\OneDrive - Bộ An ninh Nội địa\USB_Current\1W\Tệp Chương trình Chính VB\BOT\DHS FY20 AFR-2.docx")
objWord.Visible = Đúng
Đặt objSelection = objWord.Selection
objParagraph.Find.Text = "Kết hợp Báo cáo Nguồn lực Ngân sách theo Tài khoản Tổ chức Phụ"
Kết thúc phụ đề
[Chuyển từ Excel/Windows 10/Microsoft 365 Apps hoặc Office 365 Business]
Trả lời:
Đoạn mã sau sẽ đặt lựa chọn ngay trước chữ C của từ Combining trong cụm từ Combining Statement of Budgetary Resources by Sub-Organization Accounts
Sub DHSBOTRSISBR()
Dim objWord
Làm mờ objDoc
Dim objrng
Dim i As Long
Đặt objWord = CreateObject("Word.Application") 'Tạo đối tượng của Microsoft Word
Đặt objDoc = objWord.Documents.Open("C:\Users\david.surti\OneDrive - Bộ An ninh Nội địa\USB_Current\1W\Tệp Chương trình Chính VB\BOT\DHS FY20 AFR-2.docx")
objWord.Visible = Đúng
Đặt objrng = objDoc.Range
i = InStr(objrng, "Kết hợp Báo cáo Nguồn lực Ngân sách theo Tài khoản Tổ chức Phụ")
objrng.MoveStart wdCharacter, i - 1
objrng.Collapse wdCollapseStart
objrng.Select
Kết thúc phụ đề
Trả lời:
Xin chào Doug,
Trước tiên, cảm ơn phản hồi của bạn. Tôi thực sự trân trọng điều đó.
Trên dòng mã "objrng.MoveStart wdCharacter, i - 1" (vui lòng xem dòng được tô sáng màu đỏ bên dưới), tôi nhận được thông báo lỗi sau:
"Lỗi thời gian chạy '4120':
Tham số không hợp lệ"
Tôi không biết cách sửa lỗi cú pháp này. Hy vọng bạn có thể giúp tôi.
Sub DHSBOTRSISBR()
Dim objWord
Làm mờ objDoc
Dim objrng
Dim i As Long
Đặt objWord = CreateObject("Word.Application") 'Tạo đối tượng của Microsoft Word
Đặt objDoc = objWord.Documents.Open("C:\Users\david.surti\OneDrive - Bộ An ninh Nội địa\USB_Current\1W\Tệp Chương trình Chính VB\BOT\DHS FY20 AFR-2.docx")
objWord.Visible = Đúng
Đặt objrng = objDoc.Range
i = InStr(objrng, "Kết hợp Báo cáo Nguồn lực Ngân sách theo Tài khoản Tổ chức Phụ")
objrng.MoveStart wdCharacter, i - 1
objrng.Collapse wdCollapseStart
objrng.Select
Kết thúc phụ đề
Dưới đây là hình ảnh trang được chọn (trang 136) trong tài liệu Word. Bạn có thể thấy hình ảnh này hữu ích:
Trả lời:
Thử
Sub DHSBOTRSISBR()
Dim objWord
Làm mờ objDoc
Dim objrng
Dim i As Long
Đặt objWord = CreateObject("Word.Application") 'Tạo đối tượng của Microsoft Word
Đặt objDoc = objWord.Documents.Open("C:\Users\david.surti\OneDrive - Bộ An ninh Nội địa\USB_Current\1W\Tệp Chương trình Chính VB\BOT\DHS FY20 AFR-2.docx")
objWord.Visible = Đúng
Đặt objrng = objDoc.Range
i = InStr(objrng, "Kết hợp Báo cáo Nguồn lực Ngân sách theo Tài khoản Tổ chức Phụ")
MsgBox i
objrng.MoveStart wdCharacter, i - 1
objrng.Collapse wdCollapseStart
objrng.Select
Kết thúc phụ đề
và xem Hộp thông báo hiển thị những gì.
Nếu bạn gửi cho tôi một bản sao của tài liệu, ghi chú lại chủ đề này trong email đính kèm, tôi sẽ điều tra vấn đề này.
Trả lời:
Hộp thông báo hiển thị thông tin sau:
Microsoft Excel
1
Tôi muốn gửi cho bạn tài liệu Word nhưng làm sao để đính kèm nó vào chủ đề này? Hoặc làm sao để gửi tài liệu Word cho bạn và tham chiếu đến chủ đề này? Tôi đã thử sử dụng biểu tượng "Chèn hình ảnh" nhưng nhận được thông báo lỗi cho biết kích thước tệp quá lớn (kích thước tệp = 22.160 KB)).
David Surti
Email: *** Địa chỉ email đã bị xóa vì lý do riêng tư ***
C: 202-731-9207
Comments
Post a Comment