Giúp code chống mở file 2 lần (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE ! Chúc cả nhà 1 năm mới hạnh phúc, gặp nhiều may mắn..
Em có 1 vấn đề mà e lên đây hỏi cũng nhiều rồi mà đến giờ cũng chưa làm được ( gần 3 tháng ). Em muốn là em mở 1 file X đó rồi, nếu chưa đóng file X đi mà mở lại File X 1 lần nữa thì sẽ không được ( Hiện tại Excel cảnh báo 1 bảng thông báo bằng tiếng anh Filename’ is already open. Reopening will cause..." em muốn không hiện bảng thông báo đó, hoặc hiện cũng được cũng không sao, Nhưng nếu chưa Save file X đó mà chọn Yes thì dữ liệu không mất dù chưa save
loi trung file.jpg
 
Đây là lỗi cảnh báo mặc định của Microsoft mà bạn, đại loại "thông báo cho người dùng biết tệp tin đã mở rồi , có muốn mở lại hay là không?" khi 1 tệp tin có sự tương tác (nhập dữ liệu) mà chưa save thì sẽ có thông báo đó ai cũng bị như thế mà bạn.
nếu bạn muốn tắt hết thông báo đó thì chỉ cần bấm save (ctrl+S) sau đó mở mỏi tay nó cũng sẽ không hiển thị cái gì nữa.
Mà câu hỏi của bạn cũng kỳ lạ thật đấy.
 
Upvote 0
Chào cả nhà GPE
Em đang cần đoạn code để xác định khi mở 2 file trở lên. Xin cảm ơn
 
Upvote 0
Đây là lỗi cảnh báo mặc định của Microsoft mà bạn, đại loại "thông báo cho người dùng biết tệp tin đã mở rồi , có muốn mở lại hay là không?" khi 1 tệp tin có sự tương tác (nhập dữ liệu) mà chưa save thì sẽ có thông báo đó ai cũng bị như thế mà bạn.
nếu bạn muốn tắt hết thông báo đó thì chỉ cần bấm save (ctrl+S) sau đó mở mỏi tay nó cũng sẽ không hiển thị cái gì nữa.
Mà câu hỏi của bạn cũng kỳ lạ thật đấy.
Tôi nói vầy cho bác hiểu nhé. Ví dụ Bác làm 1 cái phần mềm cài cho người khác sử dụng vậy bác có muốn làm như tôi không. khách hàng người ta đâu có biết lưu rồi hay chưa lưu. Mình phải ngăn cản lại chứ. bác thấy mấy phần mềm lớn vi dụ Temview, Phần mềm Xem camera nếu mở rồi thì nó hiện thông báo Đang mở
 
Upvote 0
Chào cả nhà GPE ! Em cần lắm 1 đoạn code để kiểm tra mở File , nếu file đã mở rồi thì Hiện lên 1 thông báo " File đang mở vui lòng không mở nửa" Kiểu như Teamview.

** Lý do tại sao phải làm:
Để giữ cho ứng dụng của bạn suôn sẻ khi chạy, tránh trường hợp bị lỗi chương trình và ngừng một cách "bất hợp pháp", nếu người gặp lỗi là chính bạn thì không có gì, nhưng nếu người gặp lỗi không phải là bạn, bạn sẽ bị "mất mặt" vì chương trình của mình. Cụ thể hơn, trong quá trình làm việc với file, bạn cần phải luôn kiểm tra file có tồn tại hay không trước khi thực hiện một tác vụ ghi đọc nào đó. Dưới đây là một chương trình con dùng để kiểm tra, đối số duy nhất là đường dẫn file cần mở.

Code VB
Mã:
Ví dụ:
Public Sub VerifyFile(FileName As String)
    On Error Resume Next
    'Mở file thử để kiểm tra
    Open FileName For Input As #1
    If Err Then
       MsgBox ("The file " & FileName & " cannot be found.")
       Exit Sub
    End If
    Close #1
End Sub
hoặc:
Private Function FileExists(filename) As Boolean
   On Error GoTo ErrorHandler
   FileExists = (Dir(filename) <> "")
   Exit Function
   ErrorHandler:
   FileExists = False
End Function

Sử dụng:
If FileExists("C:\filename.txt") = False Then MsgBox ("Tập tin này không tồn tại.")

Mình đọc được tài liệu hướng dẩn nhưng mình không biết đưa vào Excel phải làm sao. Mong mọi người giúp đở. Chân thành cảm ơn
 
Upvote 0
Chào cả nhà GPE ! Em cần lắm 1 đoạn code để kiểm tra mở File , nếu file đã mở rồi thì Hiện lên 1 thông báo " File đang mở vui lòng không mở nửa" Kiểu như Teamview.

** Lý do tại sao phải làm:
Để giữ cho ứng dụng của bạn suôn sẻ khi chạy, tránh trường hợp bị lỗi chương trình và ngừng một cách "bất hợp pháp", nếu người gặp lỗi là chính bạn thì không có gì, nhưng nếu người gặp lỗi không phải là bạn, bạn sẽ bị "mất mặt" vì chương trình của mình. Cụ thể hơn, trong quá trình làm việc với file, bạn cần phải luôn kiểm tra file có tồn tại hay không trước khi thực hiện một tác vụ ghi đọc nào đó. Dưới đây là một chương trình con dùng để kiểm tra, đối số duy nhất là đường dẫn file cần mở.

Code VB
Mã:
Ví dụ:
Public Sub VerifyFile(FileName As String)
    On Error Resume Next
    'Mở file thử để kiểm tra
    Open FileName For Input As #1
    If Err Then
       MsgBox ("The file " & FileName & " cannot be found.")
       Exit Sub
    End If
    Close #1
End Sub
hoặc:
Private Function FileExists(filename) As Boolean
   On Error GoTo ErrorHandler
   FileExists = (Dir(filename) <> "")
   Exit Function
   ErrorHandler:
   FileExists = False
End Function

Sử dụng:
If FileExists("C:\filename.txt") = False Then MsgBox ("Tập tin này không tồn tại.")

Mình đọc được tài liệu hướng dẩn nhưng mình không biết đưa vào Excel phải làm sao. Mong mọi người giúp đở. Chân thành cảm ơn

Bạn chỉ cần bôi đen đoạn code ở trên, Bấm Ctrl + C, Mở 1 file Excel nào đó, Click vào ô A1, nhấn Ctrl + V là đã đưa thành công đoạn code trên vào Excel. Chúc bạn thành công.
 
Upvote 0
Bạn chỉ cần bôi đen đoạn code ở trên, Bấm Ctrl + C, Mở 1 file Excel nào đó, Click vào ô A1, nhấn Ctrl + V là đã đưa thành công đoạn code trên vào Excel. Chúc bạn thành công.
em muốn áp dụng code đó vào File excel. Thí dụ file đó mở rồi nếu mở tiếp thì nó báo" File đã mở. Vui lòng đừng mở". Chứ Copy paste em biết năm 2000 anh nhé
 
Upvote 0
Bạn chỉ cần bôi đen đoạn code ở trên, Bấm Ctrl + C, Mở 1 file Excel nào đó, Click vào ô A1, nhấn Ctrl + V là đã đưa thành công đoạn code trên vào Excel. Chúc bạn thành công.

Tùm bậy, cách này người ta biết đã (để tính coi: 2018 - 2000 = ) mười tám năm nay rồi.

Đáp án đây nè:
http://www.giaiphapexcel.com/diendan/threads/tự-động-chèn-code-vào-sheet-của-1-file-excel.80149/
Nhớ phải xem từ trang 1 nhé
 
Upvote 0
Upvote 0
Chào cả nhà GPE ! Em cần lắm 1 đoạn code để kiểm tra mở File , nếu file đã mở rồi thì Hiện lên 1 thông báo " File đang mở vui lòng không mở nửa" Kiểu như Teamview.

** Lý do tại sao phải làm:
Để giữ cho ứng dụng của bạn suôn sẻ khi chạy, tránh trường hợp bị lỗi chương trình và ngừng một cách "bất hợp pháp", nếu người gặp lỗi là chính bạn thì không có gì, nhưng nếu người gặp lỗi không phải là bạn, bạn sẽ bị "mất mặt" vì chương trình của mình. Cụ thể hơn, trong quá trình làm việc với file, bạn cần phải luôn kiểm tra file có tồn tại hay không trước khi thực hiện một tác vụ ghi đọc nào đó. Dưới đây là một chương trình con dùng để kiểm tra, đối số duy nhất là đường dẫn file cần mở.

Code VB
Mã:
Ví dụ:
Public Sub VerifyFile(FileName As String)
    On Error Resume Next
    'Mở file thử để kiểm tra
    Open FileName For Input As #1
    If Err Then
       MsgBox ("The file " & FileName & " cannot be found.")
       Exit Sub
    End If
    Close #1
End Sub
hoặc:
Private Function FileExists(filename) As Boolean
   On Error GoTo ErrorHandler
   FileExists = (Dir(filename) <> "")
   Exit Function
   ErrorHandler:
   FileExists = False
End Function

Sử dụng:
If FileExists("C:\filename.txt") = False Then MsgBox ("Tập tin này không tồn tại.")

Mình đọc được tài liệu hướng dẩn nhưng mình không biết đưa vào Excel phải làm sao. Mong mọi người giúp đở. Chân thành cảm ơn
Bạn chạy code này thử xem:
PHP:
Function checkopen1(filename As String)
On Error Resume Next
Open filename For Input Lock Read As #1
Select Case Err.Number
    Case 0: MsgBox "File " & filename & " not open": Close #1
    Case 70: MsgBox "File " & filename & " was opened"
    Case 53: MsgBox Err.Description
End Select
End Function
Sub test()
    checkopen1 (ThisWorkbook.FullName)
End Sub
Code #1 của bạn là kiểm tra file có tồn tại hay không , chứ không phải là file đang mở hay không.
 
Upvote 0
Bạn chạy code này thử xem:
PHP:
Function checkopen1(filename As String)
On Error Resume Next
Open filename For Input Lock Read As #1
Select Case Err.Number
    Case 0: MsgBox "File " & filename & " not open": Close #1
    Case 70: MsgBox "File " & filename & " was opened"
    Case 53: MsgBox Err.Description
End Select
End Function
Sub test()
    checkopen1 (ThisWorkbook.FullName)
End Sub
Code #1 của bạn là kiểm tra file có tồn tại hay không , chứ không phải là file đang mở hay không.

Dạ code anh kiểm tra khi FIle đang hoạt động . Túm lại em muốn như thế này
- Khi 1 file chỉ định ( ví dụ: giaiphap.XLS đang nằm ngoài Desktop ) mở lên rồi nếu mở tiếp 1 lần nữa từ Desktop thì sẽ hiện thông báo " File đang mở vui lòng không mở nữa". Kiếu giống Như Utraview và Teamview ( khi đang mở mà chưa thoát mà mở tiếp 1 lần nữa thì nó báo Đang mở đó ). Vì nếu không làm vậy thì nó sẽ hiện lên thông báo như thế này

upload_2018-1-15_22-7-15.png

Mình thì không sao. Nhưng người khác không biết họ chọn YES là coi họ chưa lưu thì nó sẽ mất hết dữ liệu . Thành ra em muốn vậy. Xin cảm ơn
 
Upvote 0
Người ta muốn áp dụng code đó cho EXCEL ( vì code trên bằng VB còn excel VBA ) bác hiểu không.

Bài #1 nói là đã đọc được tài liệu hướng dẫn code và chỉ hỏi cách đưa vào Excel mà!

...
Mình đọc được tài liệu hướng dẩn nhưng mình không biết đưa vào Excel phải làm sao. Mong mọi người giúp đở....
 
Upvote 0
Theo báo cáo của 1 thành viên thì chủ đề này đã mở nhiều lần cùng nội dung. Tôi khóa lại
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom