Truyền password từ VB6 vào Excel

Liên hệ QC

tuanmi71

Thành viên mới
Tham gia
23/12/11
Bài viết
9
Được thích
0
Tôi có một file dữ liệu excel đã đặt open password (VD: pass là abc). Tôi phải làm thế nào để người khác không mở được trực tiếp file này (khi không biết pass) mà chỉ mở được thông qua một chương trình viết bằng VB6 (trong chương trình này đã khai báo pass là abc, có nghĩa khi người dùng click vào nút "Mở file" chẳng hạn là mở được luôn mà không cần điền pass là abc nữa).
 
Tôi có một file dữ liệu excel đã đặt open password (VD: pass là abc). Tôi phải làm thế nào để người khác không mở được trực tiếp file này (khi không biết pass) mà chỉ mở được thông qua một chương trình viết bằng VB6 (trong chương trình này đã khai báo pass là abc, có nghĩa khi người dùng click vào nút "Mở file" chẳng hạn là mở được luôn mà không cần điền pass là abc nữa).
Viết code trong VBA sao thì trong VB6 cũng vậy thôi
Ví dụ:
- Ta có file Test.xls nằm tại ổ D
- File Test.xls có password open là "abc"
Vậy code trong VB sẽ là:
PHP:
Private Sub Command1_Click()
  On Error GoTo ErrHandler
  With CreateObject("Excel.Application")
    .Visible = True
    .Workbooks.Open "D:\Test.xls", Password:="abc"
    Exit Sub
  End With
ErrHandler:
    MsgBox "Sai duong dan hoac sai password! Vui long kiem tra lai", , "THÔNG BÁO"
End Sub
 
Upvote 0
Rất cảm ơn bạn ndu96..... Mình muốn bạn giúp thêm thay đường dẫn tuyệt đối bằng tương đối có được không. Khi mình sử dụng hàm đổi số sang chữ (=vnd(toạ độ cell)) khi copy đi máy khác công thức lại bị đổi thành ='C:\Documents and Settings\Anh_Tuan!\Application Data\Microsoft\AddIns\Change_NumberToText.xla'!vnd(AI2) và không thực hiện đổi được nữa, cách khắc phục.
 
Lần chỉnh sửa cuối:
Upvote 0
Rất cảm ơn bạn ndu96..... Mình muốn bạn giúp thêm thay đường dẫn tuyệt đối bằng tương đối có được không. Khi mình sử dụng hàm đổi số sang chữ (=vnd(toạ độ cell)) khi copy đi máy khác công thức lại bị đổi thành ='C:\Documents and Settings\Anh_Tuan!\Application Data\Microsoft\AddIns\Change_NumberToText.xla'!vnd(AI2) và không thực hiện đổi được nữa, cách khắc phục.
Bạn có 2 cách:
- Một là cho code của hàm vnd vào file luôn mà không dùng Add-In, như vậy mang file đi đâu cũng xài được
- Hai là trước khi đến máy nào đó, bạn hãy cài Add-In trước
vậy thôi
 
Upvote 0
Bạn có 2 cách:
- Một là cho code của hàm vnd vào file luôn mà không dùng Add-In, như vậy mang file đi đâu cũng xài được
- Hai là trước khi đến máy nào đó, bạn hãy cài Add-In trước
vậy thôi

Mình chưa nói với bạn là các máy đều đã cài add-in đổi số rồi nhưng mỗi lần đóng file lại và mở ra lại bị như vậy.
Vậy bạn hướng dẫn mình cụ thể cách 1 được không, cả code và cho vào đâu...
Tiện thể cho mình hỏi luôn nhé, mình truyền pass vào mở file excel theo hướng dẫn của bạn thì OK rồi nhưng với file word thi không được, help me!!!!!!!!
 
Upvote 0
Mình chưa nói với bạn là các máy đều đã cài add-in đổi số rồi nhưng mỗi lần đóng file lại và mở ra lại bị như vậy.
Vậy bạn hướng dẫn mình cụ thể cách 1 được không, cả code và cho vào đâu...
Tôi không ở trên máy bạn nên không biết tình trạng cụ thế thế nào, sao mà giúp đây?
Tiện thể cho mình hỏi luôn nhé, mình truyền pass vào mở file excel theo hướng dẫn của bạn thì OK rồi nhưng với file word thi không được, help me!!!!!!!!
Sao không được chứ:
PHP:
Private Sub Command1_Click()
  On Error GoTo ErrHandler
  With CreateObject("Word.Application")
    .Visible = True
    .Documents.Open "D:\Test.doc", PasswordDocument:="abc"
    Exit Sub
  End With
ErrHandler:
    MsgBox "Sai duong dan hoac sai password! Vui long kiem tra lai", , "THÔNG BÁO"
End Sub
 
Upvote 0
Tôi không ở trên máy bạn nên không biết tình trạng cụ thế thế nào, sao mà giúp đây?

Sao không được chứ:
PHP:
Private Sub Command1_Click()
  On Error GoTo ErrHandler
  With CreateObject("Word.Application")
    .Visible = True
    .Documents.Open "D:\Test.doc", PasswordDocument:="abc"
    Exit Sub
  End With
ErrHandler:
    MsgBox "Sai duong dan hoac sai password! Vui long kiem tra lai", , "THÔNG BÁO"
End Sub

Cám ơn bạn nhiều!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Upvote 0
Giúp đỡ mở file excel và word bằng VB6

Tôi muốn làm một ứng dụng đơn giản chỉ để in hoá đơn thôi, không cần quản lý nhiều. Nhập liệu vào Excel, tính toán tiền điện sau đó dùng chức năng in trộn trong Word lấy dữ liệu từ Excel để in hoá đơn. Dùng VB6 gom các file này lại để sử dụng cho tiện. Tuy nhiên có một số vướng mắc khi dùng VB6 gọi đến các file như sau:

1. Với file Excel: khi mở bằng VB6 thì hàm đổi số không hoạt động nhưng nếu mở trực tiếp bằng Microsoft Excel thì vẫn hoạt động được bình thường.

2. Với file Word:
- Khi đã khai báo nguồn dữ liệu để in trộn là file Excel khi mở ra bằng Microsoft Word để in thì bình thường, nhưng nếu mở bằng VB6 thì lại yêu cầu khai báo lại tên, vị trí nguồn dữ liệu từ đầu.
- File word này khi đã đặt link đến CSDL excel để in trộn thì không sử dụng chức năng Protect Doument được nữa vì sao vậy, có khắc phục được không?
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom