PDA

View Full Version : Cac cao thu VB, em xin thinh giao



phangtomat
31-08-2002, 22:09
Em muốn dùng VB liên kết với Word. (Không muốn dùng VBA có sẵn trong Word). Nhưng sau khi liên kết thì không biết làm thế nào để thao tác với bản Word (ví dụ như thêm một dòng chữ vào văn bản) bởi vì tính năng AutoComplete không tự động thực hiện với các đối tượng Word.
Ví dụ trong VBA ở Word để thêm một dòng text thì có thể viết:
Selection.TypeText Text:="Hello, xin chao"
Selection.TypeParagraph

Nhưng khi dùng VB,(đã khởi động Microsoft Word 10.0 Oject Library) sau khi tạo liên kết với Word bằng:
Dim obj As Object
Set sel = GetObject(, "Word.Application")

thì cần phải làm thế nào để tạo ra được một dòng text trong Word??
(VB6.0 và OfficeXP.)

come2one
01-09-2002, 21:56
Trước đây tôi cũng đã thử cách này bạn xem thế nào.

Dim objWord as Word.Application
set objWord = new Word.Application

objWord.Visible = True
objWord.Documents.Add
objWord.Selection.Text = "Hello!
...

Không biết trên OfficeXP như thế nào vì trước đây tôi làm trên Word97&2000. Để có các đoạn code tiện lợi và chính xác để xử lý trên Word cũng như Excel tôi thường Record các Macro và copy từ VBA rồi đưa vào trong VB bằng cách :

With objWord
.<VBA code line>
End With

Mọi cùng người xem và góp ý.

phangtomat
01-09-2002, 23:15
Cảm ơn bác, em đã làm được rùi. Nhưng mà bác khai báo:
Public WordApp As Word.Application
Public WordDoc As Word.Document

Rồi dùng
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
If Err Then
Err.Clear
Set WordApp = CreateObject("Word.Application")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
Set WordDoc = WordApp.Documents.Add
End Sub

Sau đó dùng các lệnh như bên VBA bình thường. ví dụ như
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

Cách này có cả phần Autocomplete như VBA.

quaitieutu
02-09-2002, 09:49
Chúc mừng đã làm được

phangtomat
02-09-2002, 23:39
OK

hxen
28-02-2003, 16:51
quai nhi?