Tạo add-in

Liên hệ QC

thehungqnu

Thành viên mới
Tham gia
12/10/07
Bài viết
35
Được thích
16
Tôi đang học cách làm addin. Tôi viết xong đoạn vb cho 2 ứng dụng in và xuất ra file .xla nhưng không thể cho addin tạo thành 2 nút lệnh để thực hiện. Mong các bạn hướng dẫn
VB:
Public Sub in1()
a = Sheets(4).Cells(2, 21).Value
b = 3
If a <> 0 Then
If MsgBox("Tong so trang in:" & Str(a), vbYesNo, "Ban co in khong") = vbYes Then
ActiveWindow.SelectedSheets.PrintOut from:=b, to:=a + 2, copies:=b - 2, collate:=True
Exit Sub
End If
Else
MsgBox "Ban chua co du lieu"
Exit Sub
End If
End Sub
Sub in2()
Dim x, y, z As Variant
x = 1
y = Range("Z1")
z = Range("AM1")
If y <> 0 Then
If MsgBox("Tong bang diem:" & Str(y) & " bang - " & "Tong trang in: " & Str(y * z) & " trang", vbYesNo, " Ban co in khong") = vbYes Then
ActiveWindow.SelectedSheets.PrintOut from:=x, to:=y, copies:=z, collate:=True
Exit Sub
End If
Else
MsgBox "Ban chua co du lieu"
Exit Sub
End If
End Sub
 
thehungqnu đã viết:
Tôi đang học cách làm addin. Tôi viết xong đoạn vb cho 2 ứng dụng in và xuất ra file .xla nhưng không thể cho addin tạo thành 2 nút lệnh để thực hiện. Mong các bạn hướng dẫn
VB:
Public Sub in1()
a = Sheets(4).Cells(2, 21).Value
b = 3
If a <> 0 Then
If MsgBox("Tong so trang in:" & Str(a), vbYesNo, "Ban co in khong") = vbYes Then
ActiveWindow.SelectedSheets.PrintOut from:=b, to:=a + 2, copies:=b - 2, collate:=True
Exit Sub
End If
Else
MsgBox "Ban chua co du lieu"
Exit Sub
End If
End Sub
Sub in2()
Dim x, y, z As Variant
x = 1
y = Range("Z1")
z = Range("AM1")
If y <> 0 Then
If MsgBox("Tong bang diem:" & Str(y) & " bang - " & "Tong trang in: " & Str(y * z) & " trang", vbYesNo, " Ban co in khong") = vbYes Then
ActiveWindow.SelectedSheets.PrintOut from:=x, to:=y, copies:=z, collate:=True
Exit Sub
End If
Else
MsgBox "Ban chua co du lieu"
Exit Sub
End If
End Sub

ý của bạn là sau không hiểu bạn chỉ tạo ra file.xla đúng không.
 
cảm ơn bạn ONGTRUNGDUCMX25
Ý mình là với đoạn mã trên thì chỉ chạy được macro. Nhưng khi xuất ra file .xla thành addins thì bị thếu các nút công cụ khi dùng để in. Mong các bạn hướng dẫn
 
mình là với đoạn mã trên thì chỉ chạy được macro. Nhưng khi xuất ra file .xla thành addins thì bị thếu các nút công cụ khi dùng để in.

Cách 1:

theo TigerTiger, ta nên tạo 1 sub cộng các nút vào - Vd như sub sau cộng 1 nút vào và gắn với việc thực thi sub doiso chẳng hạn. - cho sub này đi cùng AddIn

PHP:
Public Sub Add_Button()
  ActiveSheet.Buttons.Add(379.5, 48.75, 81.75, 27.75).Select
    Selection.OnAction = "doiso"
    Selection.Characters.Text = "Chay doiso"    
End Sub

Khi Workbook này thì chạy sub này tạo các nút như mong muốn

Cách 2:
Là bạn tạo 1 file template (mẫu - bằng cách khi save thì File\Save as -> File Type: Template *.xlt)- trong file này chứa các nút đã thiết kế sẵn, -> thế là lần sau bạn dùng thì bạn cứ tạo file mới từ template này (File \ New... nhìn sang bên phải màn hình -> chọn Template \ On Mycomputer -> chọn File template trên)

Chúc thành công
 
Cảm ơn TigerTiger!
Để mình làm thử.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Không thành công rồi. Chỉ tạo thành các nút lệnh khi chạy macro thôi. Xuất ra .XLA không thực hiện được. Chắc là thiếu thủ tục khai báo để tạo thành các công cụ trên menu. Thanhs!
 
Web KT

Bài viết mới nhất

Back
Top Bottom