Làm cách nào để làm mới tài liệu tôi đã mở trong Excel ở chế độ chỉ đọc?


8

Tôi có một tài liệu Excel được lưu trữ trên Máy chủ SharePoint, mà tôi luôn mở trên máy tính của mình ở chế độ chỉ đọc vì tôi cần tham khảo nó.

Mỗi lần như vậy, để có được những thay đổi mới nhất, tôi phải đóng tệp lại và tải lại. Có bất kỳ tùy chọn nào trong Excel 2007 cho phép tôi chỉ cần làm mới một tài liệu tôi đã mở ở chế độ chỉ đọc sang phiên bản mới nhất trên máy chủ không?

Vẫn tốt hơn, có cách nào để điều này có thể được thực hiện một cách linh hoạt, mà không cần tôi phải làm mới không?


Tôi chỉ đang thử điều tương tự - có vẻ như câu trả lời vẫn là "KHÔNG", không có kiểu làm mới F5 cho Excel. Tôi cũng thấy không thể mở tệp từ danh sách được sử dụng gần đây nhất của Excel dưới dạng chỉ đọc (Bạn phải vào trình duyệt tệp trước khi bạn có thể làm điều đó) ... Và bạn không thể làm cho bảng tính hiện đang mở của mình chỉ đọc ... Và Excel cho phép bạn nhập văn bản vào bảng tính chỉ đọc ... Tất cả đều rất khó chịu.
Bill K

Câu trả lời:


1

Giải pháp của Yuval có thể đủ, nhưng chỉ khi những thay đổi được giới hạn trong nội dung của tế bào. Người hỏi không cho biết nếu đây là trường hợp. Tuy nhiên: điều gì xảy ra nếu thay đổi bạn muốn nhận là việc thêm (thậm chí có thể loại bỏ) bảng tính trong sổ làm việc?

Sắp xếp giải pháp dễ vỡ và khó khăn: lưu trữ một macro trong PERSONAL.XLS (B) ẩn của bạn để thực hiện một sổ làm việc định kỳ (bằng cách tự lên lịch lại) đóng và mở lại. Nên tìm thấy PERSONAL.XLS (B) tại% USERPROFILE% \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART \)

Sub wkbRefresher()
    Dim refreshedWorkbook As Workbook
    Dim WkBks As Workbooks

    'full filepath
    fPath = "c:\tmp\mutatingWorkbook.xls"
    'in HH:MM:SS format:
    refreshInterval = "00:05:00"

    For i = 1 To Application.Workbooks.Count
        Debug.Print (Application.Workbooks.Item(i).FullName)
        If LCase(Application.Workbooks.Item(i).FullName) = LCase(fPath) Then
            Debug.Print ("  Yep thats the one! Lets refresh it.")
            Application.Workbooks.Item(i).Close
            'refreshedWorkbook = WkBks.Open(fPath, True, True)
            Set refreshedWorkbook = Excel.Application.Workbooks.Open(fPath, True, True)
        End If
    Next i

    ' Use at your own risk: this is an "asynchronous", the execution cannot be stopped by merely pressing the stop button in the VBA interface.
    ' You might have to do something like put a break marker on the line OnTime line so that next time around, it doesn't respawn itself.
    Application.OnTime Now + TimeValue(refreshInterval), "wkbRefresher"
End Sub

Tất nhiên, phụ ở trên có thể được tham số hóa và / hoặc bạn có thể gắn nó vào nút thanh công cụ tùy chỉnh hoặc một cái gì đó. Vì lưu sổ làm việc lưu bảng hoạt động, ô hiện hoạt, v.v. thông tin trạng thái, bạn cũng có thể muốn bao gồm một vài dòng để lưu tên trang hoạt động ưa thích của mình và kích hoạt lại mỗi lần sau khi mở lại.

Người giới thiệu:

http://office.microsoft.com/en-us/excel-help/run-a-macro-HP010342865.aspx http://msdn.microsoft.com/en-us/l Library / office / ff196165 (v = office .14) .aspx

Mặc dù tôi đã không bác bỏ tất cả, nhưng đây có vẻ là một lời giới thiệu rất hữu ích nếu bạn chưa từng nghe về PERSONAL.XLS (B): http://www.rondebruin.nl/win/personal.htmlm


0

Điều này có thể giúp:

tác giả sổ làm việc có thể tạo sổ làm việc tự động làm mới dữ liệu ngoài khi sổ làm việc được mở bằng cách chọn làm mới dữ liệu khi mở hộp kiểm tệp trong hộp thoại Thuộc tính kết nối.

Đây là nơi tôi có được nó. Đó là một bài viết thú vị. Không giúp đỡ à?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.