luongvangioi
Thành viên mới

- Tham gia
- 5/8/08
- Bài viết
- 12
- Được thích
- 1
các bác giúp đã chút code vba cho word bài toán sau: mình đã tạo nút lệnh cứ sau dấu chấm là phải viết hoa, bạn nào giỏi code viết dùm hàm được không?
cái này mình biết nhưng mình đang tạo 1 ứng dụng nó có chức năng chuyển thành Hoa sau dấu chấm, nên mình cần code vbaMặc định trong word là sau dấu chấm sẽ viết hoa.
View attachment 247054
Sub viethoa()
Dim text As String
Selection.End = 0
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.text = ".*[a-zA-Z]"
.MatchWildcards = True
Do While .Execute
text = Selection.text
Selection.text = ". " & UCase(Right(text, 1))
Loop
End With
End Sub
Cảm ơn bạn rất nhiều.Thử như sau nhé.
Mở tập tin Word -> Alt + F11 để vào VBE -> menu Insert -> Module -> dán code sau vào Module1 -> chạy sub viethoa
Mã:Sub viethoa() Dim text As String Selection.End = 0 With Selection.Find .ClearFormatting .Replacement.ClearFormatting .text = ".*[a-zA-Z]" .MatchWildcards = True Do While .Execute text = Selection.text Selection.text = ". " & UCase(Right(text, 1)) Loop End With End Sub
Sau dấu chấm có thể có 0, 1 hoặc nhiều dấu cách SPACE
hi mình đang làm 1 cái addins cho word nhưng code vba của mình kém quá, bạn thông cảm, mục đích là app dành cho những người vô tình gõ sai chỉ cần nhấn vào là tự động sửa hếtMình biết vì sao bạn này yêu cầu tạo nút lệnh cứ sau dấu chấm là phải viết hoa rồi, hóa ra là do bạn chưa biết viết hoa. "trong các bài viết của bạn không thấy một từ nào viết hoa cả". Mình đoán thế không biết có đúng không.
Ý mình nói là người đang giúp thì rất tôn trọng người được giúp thể hiện qua các bài giao tiếp thì đầu câu hoặc sau dấu chấm viết hoa rất đầy đủ, còn người được giúp thì hình như không quan tâm.hi mình đang làm 1 cái addins cho word nhưng code vba của mình kém quá, bạn thông cảm, mục đích là app dành cho những người vô tình gõ sai chỉ cần nhấn vào là tự động sửa hết
Ai cũng biết viết hoa hết bạn à.Mình biết vì sao bạn này yêu cầu tạo nút lệnh cứ sau dấu chấm là phải viết hoa rồi, hóa ra là do bạn chưa biết viết hoa. "trong các bài viết của bạn không thấy một từ nào viết hoa cả". Mình đoán thế không biết có đúng không.
Bạn thử test code sau nhé. Thấy bạn viết là bạn đang làm 1 cái addins cho word mà tôi thấy lo quá. Nếu bạn định kéo dài chủ đề cho tới khi hoàn thành cái addins thì có lẽ tôi sẽ không có đủ kiên nhẫn.bác cao thủ giúp em luôn cái này với: code vba tối ưu dấu nháy đơn và đôi
em có đoạn word như sau: chim én " loại khác là cén " loài chim
em muốn tối ưu thành: chim én "loại khác là cén" loài chim
em viết code để chạy cho nút lệnh khi nhấn là dấu nháy đôi sát vào chữ l và n, từ én 1 khoảng cách rồi đến nháy đôi, tương tự sau nháy đôi đóng là 1 khoảng cách,
Sub bo_dau_cach_trong_nhay_don_kep()
Dim text As String
Selection.End = 0
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
.text = "(['""])"
.Replacement.text = " \1 "
.Execute Replace:=wdReplaceAll
.text = "(['""])[!'""]@\1"
Do While .Execute
text = Selection.text
Selection.text = Replace(text, Mid(text, 2, Len(text) - 2), Trim(Mid(text, 2, Len(text) - 2)))
Loop
End With
End Sub
Em đang chờ xem sau vụ addins viết hoa sau dấu chấm, khoảng trắng cho dấu nháy đôi, không biết có tiếp đến dấu ngoặc đơn, dấu chấm phẩy ... không anh ạ.Tôi tính bảo thớt copy bài mình vào file word rồi "nhấn vào là tự động sửa hết". Xong copy trở lại đây.
Hihi em nghĩ bạn ấy có tinh thần tự ngâm cứu đó anhBạn thử test code sau nhé. Thấy bạn viết là bạn đang làm 1 cái addins cho word mà tôi thấy lo quá. Nếu bạn định kéo dài chủ đề cho tới khi hoàn thành cái addins thì có lẽ tôi sẽ không có đủ kiên nhẫn.
Mã:Sub bo_dau_cach_trong_nhay_don_kep() Dim text As String Selection.End = 0 With Selection.Find .ClearFormatting .Replacement.ClearFormatting .MatchWildcards = True .text = "(['""])" .Replacement.text = " \1 " .Execute Replace:=wdReplaceAll .text = "(['""])[!'""]@\1" Do While .Execute text = Selection.text Selection.text = Replace(text, Mid(text, 2, Len(text) - 2), Trim(Mid(text, 2, Len(text) - 2))) Loop End With End Sub
Hi mấy cái đó em làm xong rồi, do cái nháy đơn và đôi mở nháy đóng nháy trong word nó giống nhau nên tìm và thay thế không được.Em đang chờ xem sau vụ addins viết hoa sau dấu chấm, khoảng trắng cho dấu nháy đôi, không biết có tiếp đến dấu ngoặc đơn, dấu chấm phẩy ... không anh ạ.
Hi mấy cái đó em làm xong rồi, do cái nháy đơn và đôi mở nháy đóng nháy trong word nó giống nhau nên tìm và thay thế không được.
Căng thế bác, vào đây chủ yếu là giúp đỡ nhau bác không giúp được bác cứ mỉa mai nhau vậy. ai giúp được mình rất tôn trọng, còn cứ đi soi từng câu chữ thì thì đừng vào đọc làm gì.Ai cũng biết viết hoa hết bạn à.
Trường hợp người khác (những người mà thớt làm cái addins giùm) thì do "vô tình gõ sai [sic]" (xem bài #9). Trường hợp thớt thì do phím 'shift' và phím 'caps lock' bị hư.
Tôi tính bảo thớt copy bài mình vào file word rồi "nhấn vào là tự động sửa hết". Xong copy trở lại đây. Nhưng nhìn lại thì thớt đâu có code làm cái "viết hoa đầu dòng". Thế là mệt cho bác ở bài #56 lạim phải chỉnh code để bao cái này.![]()
Thay vì trả lời mình thì bạn nên cảm ơn anh batman1 đã giúp bạn ở bài #12 có hơn không nhỉ.Hi mấy cái đó em làm xong rồi, do cái nháy đơn và đôi mở nháy đóng nháy trong word nó giống nhau nên tìm và thay thế không được.
Khi nào hoàn thành mình up lên cho mọi người, vì cái này mình học chạy macro và gán cho nút lệnh, tập tành cho vui,cho mình sài ké với dạo này sài word nhiều hơn excel
![]()
batman1 mình rất tôn trọng tài năng, còn một số người vào là chỉ đi soi câu chữ, chán.Thay vì trả lời mình thì bạn nên cảm ơn anh batman1 đã giúp bạn ở bài #12 có hơn không nhỉ.