VBA cho Word

Liên hệ QC

nhattan67

Thành viên mới
Tham gia
11/1/08
Bài viết
35
Được thích
3
Em muốn viết vài tiện ích cho WinWord. Nhưng thực sự em chưa biết Code tạo menu cho Word.
Tức là như thế này: các anh/chị có thể giúp em viết đoạn code trong VBA sao cho khi mở word thì menu chứa chương trình của mình sẽ nằm trên thanh menu của word.( giống như menu Help, File, View của Word vậy đó)
Xin chân thành cám ơn.
Wert.
 
Chào bạn, trong tay bạn đã tạo được tiện ích chạy được rồi đúng không. Vậy bạn hãy tạo thêm một Macro gì đó (chẳng hạn là Mo) với lệnh là mở tiện ích đó lên. Rồi vào View -> Toolbars -> Customize... -> Tab Toolbars -> New -> đặt tên cho Menu mới là gì thì tùy bạn. Sau đó qua Tab Commands -> chọn Macros trong mục Categories: -> chọn Macro Mo lúc nãy. Rồi kéo thảo vào Menu mới kia. Bạn bấm phải chuột vào nút lệnh mới rồi chọn các tùy chọn cho nó như: -Name: tên cho nút lệnh đó -Change Button Image: thay đổi hình bằng hình có sẳn -Assign Hyperlink.. -> Insert Picture: để chèn một ảnh nào đó vào ..v..v. Tùy bạn chọn cho nó. Với nhiều nút lệnh thì có nhiều Macro để mở nhiều chức năng khác nhau của chương trình của bạn. Mong rằng như vậy đủ để bạn thực hiện cách tạo menu của nha. Chúc bạn vui - khoẻ.
 
Lần chỉnh sửa cuối:
vậy trên word 2007 thì sao. hình như hướng dẫn của boong là 2003 thì phải
-----------------------------------------
 
Kiểm tra vị trí con trỏ cuối tài liệu

Mình mới tập tành VBA Word, viết thủ tục này để duyệt lần lượt từ ký tự đầu đến ký tự cuối cùng của document. Còn nhiều vấn đề phải học thêm. Các bạn cho biết :

1. Làm thế nào xác định được con trỏ đang ở cuối tài liệu thoát vòng lặp trong thủ tục này:
Mã:
Sub VbaWord()
Selection.HomeKey Unit:=wdStory
Do
  Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
  kytu = Selection
  Selection.MoveRight
Loop
End Sub
2. Làm sao biết vị trí con trỏ đang ở ký tự thứ mấy trong tài liệu ?
 
Lần chỉnh sửa cuối:
Có ai có code để sắp xếp tiếng Việt tể tạo Marco trong Word khong? cho mình xin với, mình khong biết về VBA! cảm ơn nhiều!
 
Em cũng có cái đề này mà ko biết bắt đầu giải quyết sao nữa? Mong các bác giúp đỡ em.
1. Liệt kê tất cả các font của hệ thống trong file word, săp xếp theo thứ tự từ điển.
2.Chuyển tất cả các hyperlink trong trang thành văn bản thường.
3.Chuyển một vùng chọn trong excel thành một bảng trong word .
4. chương trình cài đắt font tạm thời.
Dùng VBA để làm. Nhưng em ko hiểu ji cả, các bác giúp em được với. Cám ơn các bác nhiều
Các bác có thể mình họa cho e một bài cũng được ạ. Đa tạ các bác
 
VBA của Word

Cần làm 4 đề kiểm tra, số lượng câu hỏi được lấy từ ngân hàng

Rút mỗi chương 1 câu,mỗi độ khó 1 câu

Xin mã lệnh viết bằng VBA của word
Kèm theo file yêu cầu !
 

File đính kèm

  • Vietchuongtrinh.doc
    45 KB · Đọc: 474
Trong diễn đàn ai biết xin cho câu trả lời !
Ở VBA Khi dùng lệnh:

Set HS = Application.InputBox("Chọn vùng : ", "Thông báo", Type:=8)
MsgBox "So Cells=" & HS.Cells.Count

Lúc chạy chương trình :
- Nếu kéo chọn từ A1 đến A10 cho kết quả là 10
- Nếu kéo chọn từ A1 đến C10 cho kết quả là 30
Hỏi : Nếu kẻo chọn từ A1 đến D10 để biết được có 10 dòng và 4 cột thì dùng lệnh nào ?
 
Trong diễn đàn ai biết xin cho câu trả lời !
Ở VBA Khi dùng lệnh:

Set HS = Application.InputBox("Chọn vùng : ", "Thông báo", Type:=8)
MsgBox "So Cells=" & HS.Cells.Count

Lúc chạy chương trình :
- Nếu kéo chọn từ A1 đến A10 cho kết quả là 10
- Nếu kéo chọn từ A1 đến C10 cho kết quả là 30
Hỏi : Nếu kẻo chọn từ A1 đến D10 để biết được có 10 dòng và 4 cột thì dùng lệnh nào ?


Thay MsgBox "So Cells=" & HS.Cells.Count

bằng
MsgBox "So dong = " & HS.Rows.Count & "; So cot = " & HS.Columns.Count
 
Lần chỉnh sửa cuối:
Sao lại hỏi Excel trong topic Word?
 
e đang soạn đề trắc nghiệm từ đề có sẵn,giờ phải chèn đầu câu hỏi và kết thúc cau hỏi một mã lệnh để phần mềm nhận diện. có cách nào chèn nhanh các mã lệnh này không ạ? mong các a chị giúp đỡ.Cụ thể e đã nêu trong file
 

File đính kèm

  • CODE WORD.doc
    43.5 KB · Đọc: 167
e đang soạn đề trắc nghiệm từ đề có sẵn,giờ phải chèn đầu câu hỏi và kết thúc cau hỏi một mã lệnh để phần mềm nhận diện. có cách nào chèn nhanh các mã lệnh này không ạ? mong các a chị giúp đỡ.Cụ thể e đã nêu trong file

Loay hoay mãi với cái nó --=0. Không biết kết quả có được không...
Bạn thử đoạn sau nhé.
Mã:
Sub SE()
Application.ScreenUpdating = False
Dim DT As Document, pg As Paragraph, T As String, tmp As String
Dim chk As String: chk = ":"
Set DT = ActiveDocument
On Error Resume Next
For Each pg In DT.Paragraphs
    T = pg.Range.Sentences(1)
    If Len(T) < 10 And Mid(T, Len(T) - 1, 1) = chk Or Trim(Mid(T, Len(T) - 2, 2)) = chk Then
        tmp = "#EQ" & vbCr & T & "#Q[x]" & vbCr
        DT.Content.Find.Execute FindText:=T, _
        ReplaceWith:=tmp, Replace:=wdReplaceAll
   End If
Next
DT.Range.InsertAfter "#EQ"
DT.Paragraphs(2).Range.Sentences(1).Delete
Application.ScreenUpdating = True
End Sub
 
Xin code chép văn bản được gạch chân

Ví dụ mình có các câu trắc nghiệm dạng như này:

Câu 1: zzzzzzzzzzzzzzzzzzzzz
A. aaaaaaa B. bbbbbbbbbbbbbb
C.cccccccccc D. ddddddddđ
Câu 2: zzzzzzzzzzzzzzzzzzzzz
A. aaaaaaa B. bbbbbbbbbbbbbb
C.cccccccccc D. ddddddddđ
..........

Có code nào để chép các nội dung được gạch chân ra file mới không ạ?
Nếu có các bạn cho mình xin code với (gặp chừng vào trăm câu, chép lại té xĩu luôn ạ)

Thanks nhiều nhiều!
 

File đính kèm

  • Xin code chep van ban co gach chan.docx
    113.6 KB · Đọc: 59
Ví dụ mình có các câu trắc nghiệm dạng như này:

Câu 1: zzzzzzzzzzzzzzzzzzzzz
A. aaaaaaa B. bbbbbbbbbbbbbb
C.cccccccccc D. ddddddddđ
Câu 2: zzzzzzzzzzzzzzzzzzzzz
A. aaaaaaa B. bbbbbbbbbbbbbb
C.cccccccccc D. ddddddddđ
..........

Có code nào để chép các nội dung được gạch chân ra file mới không ạ?
Nếu có các bạn cho mình xin code với (gặp chừng vào trăm câu, chép lại té xĩu luôn ạ)

Thanks nhiều nhiều!

Muốn khỏi té xĩu thì chỉ cần làm đơn giản vầy thôi (nó sẽ Copy những từ, ngữ nào có chữ gạch chân (Underline) như những chữ ví dụ mà bạn tô đỏ, chứ nghĩ chi xa xôi, code két chi cho mệt.

1/ Chọn bất kỳ 1 từ, ngữ nào có chữ gạch chân (Underline).

2/ Vào Home, sang cuối cùng bên phải màn hình mục Select chọn vài cái tam giác màù đen và chọn Select Text with Similar Formatting, xong nhấn Ctrl+C (Copy).

3/ Sang File cần gửi đi, nhấn Paste (xong).

Bạn có thấy quá dễ dàng không.
 
Muốn khỏi té xĩu thì chỉ cần làm đơn giản vầy thôi (nó sẽ Copy những từ, ngữ nào có chữ gạch chân (Underline) như những chữ ví dụ mà bạn tô đỏ, chứ nghĩ chi xa xôi, code két chi cho mệt.

1/ Chọn bất kỳ 1 từ, ngữ nào có chữ gạch chân (Underline).

2/ Vào Home, sang cuối cùng bên phải màn hình mục Select chọn vài cái tam giác màù đen và chọn Select Text with Similar Formatting, xong nhấn Ctrl+C (Copy).

3/ Sang File cần gửi đi, nhấn Paste (xong).

Bạn có thấy quá dễ dàng không.

Cảm ơn bạn!
Nhờ hướng dẫn của bạn và anh google, mình đã tìm ra code (mình đang cần cái này cho việc khác nữa)
Nó đây:
Mã:
[COLOR=#333333][FONT=&quot]Sub Demo()[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]Application.ScreenUpdating = False[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]Dim StrTxt As String, Doc As Document[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]With ActiveDocument.Range[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]  With .Find[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .ClearFormatting[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Replacement.ClearFormatting[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Text = ""[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Replacement.Text = ""[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Font.Underline = wd[/FONT][/COLOR][COLOR=#333333][FONT=&quot]UnderlineSingle[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Format = True[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Forward = True[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Wrap = wdFindStop[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Execute[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]  End With[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]  Do While .Find.Found[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    StrTxt = StrTxt & .Text[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    If Right(.Text, 1) <> vbCr Then StrTxt = StrTxt & vbCr[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Collapse wdCollapseEnd[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]    .Find.Execute[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]  Loop[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]End With[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]Set Doc = Documents.Add[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]Doc.Range.Text = StrTxt[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]Application.ScreenUpdating = True[/FONT][/COLOR]
[COLOR=#333333][FONT=&quot]End Sub[/FONT][/COLOR]
 
Em cũng muốn các ace hướng dẫn em làm các tiện ích, sau đó đóng gọi lại thành file exe. Khi mình cài đặt thì nó tự động cài lên thanh menu như menu file, format... trong menu sẽ chứa các tiện ích. Em xin cảm ơn.
 
Cho em hỏi xíu nhé: Em có mẫu file word đính kèm ở trang 1, sau khi chuẩn hóa ra dạng ở trang 2.
Nhờ các anh chị giúp đỡ code dùm em
 

File đính kèm

  • mau lam code.docx
    64 KB · Đọc: 36
Xin mọi người giúp cho. Em có 1 file A.docm giờ em muốn dùng vba để chuyển file này thành file A.dotm . Em thử ghi macro thao tác save as chọn lưu dưới dạng *.dotm, nhưng khi cho file A.dotm vào thư mục STARTUP thì k chạy được. Mong mọi người giúp đỡ. Em cảm ơn.
 
Web KT
Back
Top Bottom