Bagaimana saya bisa me-refresh dokumen yang saya buka di Excel dalam mode read-only?

8

Saya memiliki dokumen Excel yang disimpan di SharePoint Server, yang selalu saya buka di komputer saya dalam mode baca-saja karena saya perlu merujuknya.

Sering sekali, untuk mendapatkan perubahan terbaru, saya harus menutup file dan memuatnya kembali. Apakah ada opsi dalam Excel 2007 yang memungkinkan saya untuk me-refresh dokumen yang saya buka dalam mode read-only ke versi terbaru di server?

Lebih baik lagi, apakah ada cara di mana ini bisa dilakukan secara dinamis, tanpa saya harus menekan refresh?

RoboShop
sumber
Saya hanya mencoba hal yang sama - sepertinya jawabannya masih "TIDAK", tidak ada refresh gaya F5 untuk Excel. Saya juga merasa tidak mungkin untuk membuka file dari daftar Excel yang baru-baru ini digunakan sebagai hanya-baca (Anda harus masuk ke browser file sebelum dapat melakukannya) ... Dan Anda tidak dapat membuat spreadsheet yang saat ini terbuka hanya-baca ... Dan Excel memungkinkan Anda memasukkan teks ke spreadsheet baca-saja ... Semua sangat menjengkelkan.
Bill K

Jawaban:

1

Solusi Yuval mungkin cukup, tetapi hanya jika perubahan terbatas pada konten sel. Penyelidik tidak menunjukkan apakah ini masalahnya. Meskipun demikian: bagaimana jika perubahan yang ingin Anda ambil adalah penambahan (bahkan mungkin menghilangkan) lembar kerja di buku kerja?

Semacam solusi rapuh dan kotor: simpan makro di PERSONAL.XLS (B) tersembunyi Anda untuk melakukan buku kerja berkala (dengan menjadwal ulang sendiri) tutup dan buka kembali. PERSONAL.XLS (B) harus ditemukan di% 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

Tentu saja sub di atas dapat menjadi parameter dan / atau Anda dapat melampirkannya ke tombol toolbar kustom atau sesuatu. Karena penyimpanan buku kerja menyimpan lembar aktif, sel aktif, dll. Menyatakan informasi, Anda mungkin juga ingin menyertakan beberapa baris untuk menyimpan nama lembar aktif pilihan Anda dan mengaktifkannya kembali setiap kali setelah dibuka kembali.

Referensi:

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

Meskipun saya tidak memeriksa semuanya, ini tampaknya menjadi perkenalan yang sangat membantu jika Anda belum pernah mendengar PERSONAL.XLS (B): http://www.rondebruin.nl/win/personal.htm

Justin
sumber
0

Ini mungkin membantu:

penulis buku kerja dapat membuat buku kerja yang secara otomatis menyegarkan data eksternal ketika buku kerja dibuka dengan memilih Refresh data saat membuka kotak centang file di kotak dialog Properti Koneksi.

Di sinilah saya mendapatkannya. Artikel yang menarik. Apakah ini membantu?

Yuval
sumber