Nhờ hoàn thiện đoạn code PrintPreview

Liên hệ QC

thienthanbe

Thành viên mới
Tham gia
27/10/08
Bài viết
43
Được thích
2
Chào các bạn, mình có đoạn code sau đây ( ghi marco)
Mã:
Sub Print_GNNV()
    ActiveWindow.SelectedSheets.PrintPreview
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2, Collate _
        :=True
End Sub
khi chạy thì có kết quả như sau:
Các bạn cho mình hỏi có cách nào vô hiệu hóa các nút "Print", "Setup","Margins"… hay không?
Đại khái là mình không muốn người dùng phá hỏng các setup mà mình đặt ra.
Bạn nào biết chỉ giúp mình với, cám ơm các bạn trước nhé.
 

File đính kèm

  • Hoi.gif
    Hoi.gif
    23.3 KB · Đọc: 27
  • Hoi.jpg
    Hoi.jpg
    39.4 KB · Đọc: 18
Lần chỉnh sửa cuối:
Bạn có thể chuyển file.xls sang file.xlt
xem hình minh hoạ nhé! khi bạn chọn F12 để sao lưu định dạng
jpg.gif
 

File đính kèm

  • fm.jpg
    fm.jpg
    15.8 KB · Đọc: 115
Upvote 0
Mình không hiểu ý bạn lắm.
Ý mình là có cách nào viết 1 đoạn code hay gì đó để khi chạy đoạn code trên đây thì trong phần printpreview víibled hoặc enabled các button "Print", "Margins" "Setup".... chí để lại "Zoom" và "Close thôi". Thank.
 
Upvote 0
Mình không hiểu ý bạn lắm.
Ý mình là có cách nào viết 1 đoạn code hay gì đó để khi chạy đoạn code trên đây thì trong phần printpreview víibled hoặc enabled các button "Print", "Margins" "Setup".... chí để lại "Zoom" và "Close thôi". Thank.
Vì trên mỗi máy khác nhau bạn tinh chỉnh trên máy mình rồi! nhưng bạn đem sang máy khác thì không đúng với định dạng đó nữa. Nếu bạn chỉ muốn xem và không cho người ta chỉnh sửa nội dung học tuỳ chình thêm thì bạn có thể được mật khẩu cho sheet của mình. trên diễn đàn này có rất nhiều bạn cứ seach nhé.
 
Upvote 0
Mình không hiểu ý bạn lắm.
Ý mình là có cách nào viết 1 đoạn code hay gì đó để khi chạy đoạn code trên đây thì trong phần printpreview víibled hoặc enabled các button "Print", "Margins" "Setup".... chí để lại "Zoom" và "Close thôi". Thank.

Chép code sau vào cửa sổ code Thisworkbook:

Mã:
Private Sub Workbook_Activate()
Dim oCtrl As Office.CommandBarControl
 
'Disable all print menus
     For Each oCtrl In Application.CommandBars.FindControls(ID:=109)
            oCtrl.Enabled = False
     Next oCtrl
    
'Disable all print menus
     For Each oCtrl In Application.CommandBars.FindControls(ID:=4)
            oCtrl.Enabled = False
     Next oCtrl
     
End Sub



Private Sub Workbook_Deactivate()
Dim oCtrl As Office.CommandBarControl
 
'Enable all print menus
     For Each oCtrl In Application.CommandBars.FindControls(ID:=109)
            oCtrl.Enabled = True
     Next oCtrl
    
'Enable all print menus
     For Each oCtrl In Application.CommandBars.FindControls(ID:=4)
            oCtrl.Enabled = True
     Next oCtrl


End Sub

Nguồn: Print Preview (Setup,Margins,*Page Break Preview*) Disable
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn đã giúp đỡ, nhưng cái code của bạn là làm mất print preview trên toolbar , ý mình là làm mất button "setup"... trong print preview screen cơ.
 
Upvote 0
Không muốn người dùng phá hỏng các setup, bạn thử dùng code sau:
Mã:
Application.Dialogs(xlDialogPrintPreview).Show False
 
Upvote 0
Upvote 0
Đúng rồi bác ạ! Dùng cách mở khác thì code trên không hiệu quả.
 
Upvote 0
Chà quả là gay thật , mình lùng khắp nơi mà vẫn không có kết quả nào như ý. Có bạn nào biết không nhỉ?
 
Upvote 0
Chà quả là gay thật , mình lùng khắp nơi mà vẫn không có kết quả nào như ý. Có bạn nào biết không nhỉ?
Làm mấy cái này quả thật chẳng đáng tí nào.
Tôi thì khác: Ai sửa gì cứ thoải mái, khi tôi in thì tôi sẽ xây dựng lại toàn bộ các setting
 
Upvote 0
không cho dùng nữa là xong chứ nhỉ !
 
Upvote 0
Web KT

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

Back
Top Bottom