• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Các bài viết VB ứng dụng MS Word

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
tvb1987
Bài viết: 1
Ngày tham gia: CN 18/09/2011 5:13 pm

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi tvb1987 » CN 18/09/2011 5:30 pm

Chào cả nhà.
Hiện có vấn đề mún hỏi các anh.
Em đang làm mô hình điều khiển thiết bị từ xa thông qua mạng interner. Em dùng vb6 để làm giao diện điều khiển. Bây giờ em đang muốn kết nối VB6 với Access. (Tức là: truyền dữ liệu từ VB xuống Acces và ngược lại). Nhưng chưa biết phải làm thế nào. Anh nào sành xin chỉ em với.
Em xin cảm ơn



OKMimo
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 445
Ngày tham gia: T.Sáu 11/02/2011 3:36 pm
Has thanked: 107 time
Been thanked: 56 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi OKMimo » CN 18/12/2011 4:57 pm

em muốn làm hai thao tác:
- thêm một row (dòng) vào một table đã có sẵn
- thêm một table vào một page bất kỳ, ví dụ như mình đang có một tập tin đã có (đang chỉ có) 1 page và 1 table, giờ mình muốn thêm một page thứ hai và trên page thứ hai này mình muốn tạo một table
mong bác trợ giúp

OKMimo
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 445
Ngày tham gia: T.Sáu 11/02/2011 3:36 pm
Has thanked: 107 time
Been thanked: 56 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi OKMimo » T.Năm 22/12/2011 10:59 am

ok, done, thank mọi người đã quan tam

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Làm Mục lục trong MS Word (Version 2003)

Gửi bàigửi bởi truongphu » T.Tư 25/01/2012 10:45 am

Thủ thuật: Làm Mục lục trong MS Word (Version 2003)
Tác giả: truongphu
Mô tả: Làm Mục lục trong MS Word (Version 2003)



Đa số các dịch giả khi biên tập truyện đều dựa trên MS Word vì chúng có nhiều công cụ, trong đó BookMark là công cụ khá cần thiết để tạo mục lục.
Bài viết sau dùng ngôn ngữ VBA để trợ giúp làm mục lục nhanh hơn nữa

Làm mục lục có 2 phần: - Tạo BookMark (đánh dấu đoạn văn) và - Mục lục liên kết (hyperlink với đoạn văn đánh dấu).
A- Tạo BookMark
Thao tác bằng tay là bôi đen đoạn văn, Menu\Insert\BookMark, gõ Bookmark Name và nhấn Add
Để dễ dàng cho viết code, ta quy định BM Name là một ký tự chữ kèm dãy ký tự số từ 1 dần lên; vd C1 (Chương 1), C2...
Bôi đen toàn đoạn văn cũng mất công, ta chỉ việc đua dấu nháy tới dòng cần bôi đen và nhờ VBA bôi đen toàn cau văn đó:
(Đoạn văn bôi đen ở đây thông thường là tiêu đề chương, vd: "Chương 123 Trở Lại quê hương")

1- Thao tác bôi đen:

Mã: Chọn hết

' Ðua vê Ðâu dòng
Selection.HomeKey Unit:=wdLine
' chon ca dòng
Selection.MoveRight Unit:=wdSentence, Count:=1, Extend:=wdExtend


Đương nhiên cần copy đoạn văn nầy để về đầu file tạo mục lục:
2- Thao tác copy kế tiếp:

Mã: Chọn hết

' copy selection vào Clipboard
Dim MyData As New DataObject
MyData.SetText Selection.Text
MyData.PutInClipboard


Luôn tiện trình bày tiêu đề chương vừa bôi đen cho đẹp,
3- Canh giữa, màu và font

Mã: Chọn hết

' Font bold và màu, canh giua
Selection.Font.Color = 128
Selection.Font.Bold = True
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter


4- Ta tìm số chương đã tạo Bookmark cao nhất

Mã: Chọn hết

Dim boom%
For i = 1 To 500
    ' Tìm sô' cao nhâ't
    If ActiveDocument.Bookmarks.Exists("C" & i) = True Then
        boom = i
    End If
Next


5- Và tạo Bookmark:

Mã: Chọn hết

With ActiveDocument.Bookmarks
    .Add Range:=Selection.Range, Name:="C" & boom + 1
    .DefaultSorting = wdSortByName
    .ShowHidden = False
End With


Toàn bộ macro tổng hợp như sau:

  1. Sub CreateBookMark()
  2. ' Ðua vê Ðâu dòng
  3. Selection.HomeKey Unit:=wdLine
  4. ' chon ca dòng
  5. Selection.MoveRight Unit:=wdSentence, Count:=1, Extend:=wdExtend
  6.  
  7. ' copy selection vào Clipboard
  8. Dim MyData As New DataObject
  9. MyData.SetText Selection.Text
  10. MyData.PutInClipboard
  11. ' Font bold và màu, canh giua
  12. Selection.Font.Color = 128
  13. Selection.Font.Bold = True
  14. Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
  15.  
  16. ' create bm
  17. Dim boom%
  18. For i = 1 To 500
  19.     ' Tìm sô' cao nhâ't
  20.    If ActiveDocument.Bookmarks.Exists("C" & i) = True Then
  21.         boom = i
  22.     End If
  23. Next
  24. With ActiveDocument.Bookmarks
  25.     .Add Range:=Selection.Range, Name:="C" & boom + 1
  26.     .DefaultSorting = wdSortByName
  27.     .ShowHidden = False
  28. End With
  29. End Sub


B- Tạo Mục lục với HyperLink
Bây giờ thì dễ, về đầu file, dán tiêu đề chương đã copy, lại bôi đen toàn bộ câu vửa paste, tìm trong Bookmarks có tên nào vừa làm (số chương cao nhất) thì gán HyperLink cho nó:
  1. Sub BM_Max() ' HyperLink with BM
  2. ' Paste from clipboard
  3. Selection.Paste
  4. ' Ðua vê Ðâu dòng
  5. Selection.HomeKey Unit:=wdLine
  6. ' chon ca dòng
  7. Selection.MoveRight Unit:=wdSentence, Count:=1, Extend:=wdExtend
  8. ' Tìm BM max
  9. Dim bm$
  10. For i = 1 To 500
  11.     If ActiveDocument.Bookmarks.Exists("C" & i) = True Then
  12.         bm = "C" & i
  13.     End If
  14. Next
  15. Selection.Font.Size = 13
  16. ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", _
  17.         SubAddress:=bm
  18. Selection.Collapse Direction:=wdCollapseEnd
  19. End Sub


---
Để tiện hơn nữa, nên đưa các shortcut của 2 macro trên hiển thị trên các thanh công cụ: ta chỉ việc dùng chuột nhấn 1 cái là xong!
Tập tin đính kèm
untitled.JPG
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

tochat
Bài viết: 7
Ngày tham gia: T.Năm 24/11/2011 9:35 pm
Has thanked: 1 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi tochat » T.Tư 28/03/2012 8:19 am

anh trương phú có sách dạy vba cho word không gửi cho em với
tiếng việt thì tốt quá

thanhphongialy
Thành viên chính thức
Thành viên chính thức
Bài viết: 12
Ngày tham gia: CN 29/04/2012 9:03 am
Been thanked: 3 time

Re: Ghi nội dung vào Word. Tìm từ

Gửi bàigửi bởi thanhphongialy » CN 29/04/2012 11:23 am

truongphu đã viết:2- Ghi nội dung vào Word. Tìm từ

Mã: Chọn hết

Private Sub Command2_Click()Dim WordApp As New Word.ApplicationDim DocApp As DocumentSet DocApp = WordApp.Documents.Open("C:\Test.doc")'Kho'i tao biên ChonDim Selectapp As Object'Gán biên Chon là u'ng dung Word chonSet Selectapp = WordApp.Selection  'Ghi vào file nôi dungSelectapp.Range = "CLB VB"DocApp.SaveMsgBox "Ðã Ghi"   'Tìm và su'a nôi dungSelectapp.Find.Text = "CLB"Selectapp.Find.Forward = True 'vê phia truo'cSelectapp.Find.MatchWholeWord = True 'toàn file Selectapp.Find.Replacement.Text = "Câu Lac Bô" '<-- tu` thaySelectapp.Find.Execute , , , , , , , , , , wdReplaceAllDocApp.SaveDocApp.CloseMsgBox "Ðã thay thê'"End Sub 

Chào bác!
Bác làm ơn chỉ cho em đoạn code để lấy Text trong textbox trong Form đưa vào 1 vị trí định trước (feld, bookmark) trên MS Word!
Chân thành cảm ơn!

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi truongphu » T.Hai 30/04/2012 5:51 pm

thanhphongialy đã viết:đưa vào 1 vị trí định trước (feld, bookmark) trên MS Word!


Bạn hãy load: VBA MS Word
viewtopic.php?f=41&t=20042#p112424

Phần Bookmark có code hướng dẫn...
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

baoho1977
Thành viên chính thức
Thành viên chính thức
Bài viết: 35
Ngày tham gia: T.Tư 25/05/2011 9:42 am
Has thanked: 8 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi baoho1977 » T.Tư 06/06/2012 5:03 pm

truongphu đã viết:Thủ thuật: Các bài viết VB ứng dụng MS Word
Tác giả: truongphu
Mô tả: Nhằm đáp ứng những thắc mắc liên quan đến việc ứng dụng MS Word với VB, tôi mở đề mục nầy để các bạn tiện tra cứu và trao đổi.


* Nhằm đáp ứng những thắc mắc liên quan đến việc ứng dụng MS Word với VB, tôi mở đề mục nầy để các bạn tiện tra cứu và trao đổi
* Đề mục sẽ thường xuyên được cập nhật: gom góp từ các bài cũ, viết bài mới, các câu hỏi và trả lời mà các bạn cùng đóng góp
Mong các bạn ủng hộ


B- Mở một file Word có sẵn

Mã: Chọn hết

Private Sub Command1_Click()'Kho'i tao biên U'ng dung Word. Ðây là biên phai có
Dim WordApp As New Word.Application
'Kho'i tao biên file
Dim DocApp As Document
'Gán biên file là u'ng dung Word mo' file
Set DocApp = WordApp.Documents.Open("C:\Test.doc")
'Hiên u'ng dung
WordApp.Visible = TrueEnd Sub

các anh cho em hỏi: em làm cái này và nó báo
compile error
user -defined type not defined
lỗi ở dòng này:
Dim WordApp As New Word.Application
mong các anh chi giúp?

voicon
Thành viên chính thức
Thành viên chính thức
Bài viết: 24
Ngày tham gia: T.Bảy 05/09/2009 10:40 am
Has thanked: 1 time
Been thanked: 1 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi voicon » T.Ba 10/07/2012 10:39 am

Mọi người giúp tôi với (tuy đặt vào mục này có vẻ ko đúng lắm nhưng mong được thông cảm).
Đầu bài như sau: viết chương trình điều khiển máy in để : In file word có N trang. Máy in có 2 khay lấy giấy, 1 là giấy trắng để in nội dung từ file word. 1 khay đựng tờ quảng cáo (thông tin giống nhau). Yêu cầu in xong 1 trang word thì lại lấy 1 tờ quảng cáo. Làm như vậy cho đến hết file word.
Cảm ơn mọi người rất nhiều. Mong sớm nhận được sự trợ giúp.

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi truongphu » T.Ba 10/07/2012 11:55 am

Tôi không có máy in!
các trao đổi sau dựa trên code thuần túy.
voicon đã viết:In file word có N trang.

Dùng lệnh ActiveDocument.PrintOut
PrintOut có nhiều thông số, trong đó Range bạn đặt là

Mã: Chọn hết

ActiveDocument.ActiveWindow.PrintOut Range:= ZZZ

Biến ZZZ thay đổi từ 1 đến N

voicon đã viết:Máy in có 2 khay lấy giấy,

mỗi máy in khác hiệu sẽ có ID và Name khác nhau. (Vd HP LaserJet 4Si/Si MX PS ID: 256 = Upper Tray mà Tektronix Phaser 850P ID: 259 = Upper Tray)

Tạm lấy hằng của MS: 1= wdPrinterUpperBin; 2= wdPrinterLowerBin
ActiveDocument.PageSetup.OtherPagesTray = chọn lần lượt giữa 2 hằng trên.

Bạn cho một biến xxx Integer và khảo sát xxx Mod 2 để quyết định khay. Dùng Vòng lặp để in.

Mã: Chọn hết

For Next ZZZ = 1 To N
xxx= xxx + 1
if xxx Mod 2 then ActiveDocument.PageSetup.OtherPagesTray = wdPrinterUpperBin else  _
ActiveDocument.PageSetup.OtherPagesTray = wdPrinterLowerBin
ActiveDocument.ActiveWindow.PrintOut Range:= ZZZ


Bạn test thử. Nếu chưa êm, hy vọng Có thể bạn khác góp ý hay hơn...
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

voicon
Thành viên chính thức
Thành viên chính thức
Bài viết: 24
Ngày tham gia: T.Bảy 05/09/2009 10:40 am
Has thanked: 1 time
Been thanked: 1 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi voicon » T.Năm 12/07/2012 12:45 pm

Cảm ơn bác Phú rất nhiều.
Đoạn code e làm sau khi được bác giúp e có gửi kèm đây.
Khi chạy thử chương trình (dùng máy in OCE với tham số khay lấy giấy là 259 - khay 3 và 260 - khay 4) thì e gặp phải lỗi sau mà chưa biết cách gq mong bác giúp đỡ
Error: this is not a valid print range.Lỗi này xuất hiện khi biến i =3.
Khi biến i=1,2 thì máy in đúng khay nhưng mỗi 1 lần nó lấy liền 2 tờ.

------
NgOÀI ra có 1 vấn đề phát sinh như sau: khi chạy chương trình này, nếu trước đó máy đang mở sẵn 1 file word nào đó thì dữ liệu được in ra lại thuộc file đó chứ không phải file mình yc mở theo chương trình. Bác cho e giải pháp nhé.
----------------------



Private Sub cmdin_Click()
Dim vSotrang, i As Integer
Dim oWord As Word.Application

'Chon DON VI Tinh
Printer.ScaleMode = 6

'---Start Oce
Printer.PaperSize = 9
Printer.Duplex = 1 'IN simplex
Printer.PaperBin = 260
'---End Oce

'khoi tao
Set oWord = CreateObject("Word.Application")
oWord.Visible = True

'mo file
oDoc = oWord.Documents.Open(FileName:="C:\TEMP\dieukhienin\test.doc")

'xac dinh file word co bao nhieu trang
ActiveDocument.Repaginate
vSotrang = ActiveDocument.BuiltInDocumentProperties("Number of Pages")

For i = 1 To vSotrang
'in du lieu tu file word: tung trang 1
Printer.PaperBin = 260
ActiveDocument.ActiveWindow.PrintOut Range:=i
'lay to giay thong tin co dinh o khay khac bang cach goi khay giay va khong in gi len do
Printer.PaperBin = 259
Printer.NewPage '
' ket thuc 1 job in
Printer.EndDoc
Next i

End Sub

voicon
Thành viên chính thức
Thành viên chính thức
Bài viết: 24
Ngày tham gia: T.Bảy 05/09/2009 10:40 am
Has thanked: 1 time
Been thanked: 1 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi voicon » T.Ba 31/07/2012 1:42 pm

:) . Bài toán này em đã thực hiện được rồi, giờ nâng cấp thêm để đáp ứng được đa dạng hơn. Cảm ơn bác Phú đã giúp đỡ

Hình đại diện của người dùng
qweewq
Thành viên chính thức
Thành viên chính thức
Bài viết: 17
Ngày tham gia: T.Năm 19/11/2009 4:11 pm
Liên hệ:

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi qweewq » CN 19/01/2014 11:03 am

Nhờ TruongPhu và mọi người giúp.
Làm thế nào để add macro vào word từ vb6 ạ.
Tức là mình có 1 form, khi chạy form đó sẽ add macro vào word, nếu được nhờ bác hướng dẫn giúp tạo shortcut của macro hiển thị trên các thanh công cụ, cũng bằng cách load form này

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi truongphu » CN 26/01/2014 9:53 am

qweewq đã viết:Làm thế nào để add macro vào word từ vb6 ạ.


Mã: Chọn hết

Dim ddd As Object, fff As Object

Private Sub Command1_Click()
Set ddd = CreateObject("Word.application")
ddd.Visible = True
Set fff = ddd.documents.Open("E:\win\desktop\doc1.doc")
ddd.VBE.ActiveVBProject.VBComponents.Import "E:\win\desktop\xxxx.bas"

End Sub
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
qweewq
Thành viên chính thức
Thành viên chính thức
Bài viết: 17
Ngày tham gia: T.Năm 19/11/2009 4:11 pm
Liên hệ:

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi qweewq » T.Bảy 01/02/2014 8:37 am

Thank bác nhiều, chúc bác Năm mới giặt hái nhiều thành công mới.

choco86
Bài viết: 5
Ngày tham gia: T.Sáu 30/08/2013 10:48 pm

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi choco86 » CN 16/02/2014 10:52 pm

Mình xin hỏi 1 chút, mình có 1 form cho nhập nội dung cho 1 quyết định, 1 nút "Xuất word"
code thay thế phần căn cứ quyết định như sau:

Mã: Chọn hết

Dim WordApp As New Word.Application
Dim DocApp As Word.Document
DocApp = WordApp.Documents.Open("J:\QD\QDDD.doc")
Dim Selectapp As Object

Selectapp = WordApp.Selection
Selectapp.Find.Text = "CanCuQD"
Selectapp.Find.Forward = True

Selectapp.Find.MatchWholeWord = True
Selectapp.Find.Replacement.Text = rtxtCanCuQD.Text
Selectapp.Find.Execute()
DocApp.Save()
DocApp.Close()

Khi bấm vào nút thì bị lỗi ở rtxtCanCuQD.Text - string too long.
rtxtCanCuQD.Text của mình độ dài khoảng 10 dòng word
Vậy mình muốn hỏi có cách nào khắc phục lỗi này ko?
Và mình thử thay bằng 1 vài kí tự nào đó, nhưng sau khi có thông báo thay thế thành công, nhưng khi mở file ra thì vẫn y nguyên như cũ, ko thay đổi gì cả?? Không biết là bị lỗi gì??

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi truongphu » T.Hai 17/02/2014 8:29 am

choco86 đã viết:Khi bấm vào nút thì bị lỗi ở rtxtCanCuQD.Text - string too long.


Tìm và thay hạn chế 255 ký tự.
khắc phục: Tìm mà không thay

Bạn không viết Selectapp.Find.Replacement.Text = rtxtCanCuQD.Text
vì khi đó sẽ gây lỗi nếu quá 255 ký tự
Bạn hãy copy vào bộ nhớ nội dung của rtxtCanCuQD.Text
(code đưa vào bộ nhớ trong vba/word có nhiều ở box vba)

*** Sau khi tìm, thay vì thay thế, bạn dùng chức năng Paste từ bộ nhớ của Selection
Selectapp.Paste

choco86 đã viết:sau khi có thông báo thay thế thành công, nhưng khi mở file ra thì vẫn y nguyên như cũ, ko thay đổi gì cả?

choco86 đã viết:Selectapp.Find.Execute()


Hàm Execute của bạn không đối số!
Cấu trúc hàm:
Function Execute([FindText], [MatchCase], [MatchWholeWord], [MatchWildcards], [MatchSoundsLike], [MatchAllWordForms], [Forward], [Wrap], [Format], [ReplaceWith], [Replace], [MatchKashida], [MatchDiacritics], [MatchAlefHamza], [MatchControl]) As Boolean

trong dãy đối số trên, có thể bỏ không khai báo xem như mặc định, nhưng ít ra phải có 1 đối số Replace bạn phải khai.
Replace:=wdReplaceAll
hay wdReplaceOne; wdReplaceNone
Câu Selectapp.Find.Execute() xem như dùng đối số wdReplaceNone = không thay
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi truongphu » T.Hai 17/02/2014 8:54 am

code về vba/word, bạn tham khảo nhanh:
viewtopic.php?f=15&t=21600
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

choco86
Bài viết: 5
Ngày tham gia: T.Sáu 30/08/2013 10:48 pm

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi choco86 » T.Hai 24/02/2014 5:14 pm

truongphu đã viết:
choco86 đã viết:Khi bấm vào nút thì bị lỗi ở rtxtCanCuQD.Text - string too long.


Tìm và thay hạn chế 255 ký tự.
khắc phục: Tìm mà không thay

Bạn không viết Selectapp.Find.Replacement.Text = rtxtCanCuQD.Text
vì khi đó sẽ gây lỗi nếu quá 255 ký tự
Bạn hãy copy vào bộ nhớ nội dung của rtxtCanCuQD.Text
(code đưa vào bộ nhớ trong vba/word có nhiều ở box vba)

*** Sau khi tìm, thay vì thay thế, bạn dùng chức năng Paste từ bộ nhớ của Selection
Selectapp.Paste

choco86 đã viết:sau khi có thông báo thay thế thành công, nhưng khi mở file ra thì vẫn y nguyên như cũ, ko thay đổi gì cả?

choco86 đã viết:Selectapp.Find.Execute()


Hàm Execute của bạn không đối số!
Cấu trúc hàm:
Function Execute([FindText], [MatchCase], [MatchWholeWord], [MatchWildcards], [MatchSoundsLike], [MatchAllWordForms], [Forward], [Wrap], [Format], [ReplaceWith], [Replace], [MatchKashida], [MatchDiacritics], [MatchAlefHamza], [MatchControl]) As Boolean

trong dãy đối số trên, có thể bỏ không khai báo xem như mặc định, nhưng ít ra phải có 1 đối số Replace bạn phải khai.
Replace:=wdReplaceAll
hay wdReplaceOne; wdReplaceNone
Câu Selectapp.Find.Execute() xem như dùng đối số wdReplaceNone = không thay

Cảm ơn bác nhiều, e đã thử và thay thế được rồi, nhưng có 1 vấn đề là nó toàn paste vào đầu file word thôi chứ không thay thế dòng mình vừa tìm thấy. Đã thử bôi đen sau đó paste nhưng vẫn không được. Bác giúp e với, lần đầu tiên e làm việc với word nên không biết nhiều thứ quá.

choco86
Bài viết: 5
Ngày tham gia: T.Sáu 30/08/2013 10:48 pm

Re: Các bài viết VB ứng dụng MS Word

Gửi bàigửi bởi choco86 » T.Hai 24/02/2014 8:17 pm

aa, e làm được rồi, cám ơn hướng dẫn của bác truongphu nhiều lắm!!


Quay về “[VB] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách