Pratinjau Dokumen dalam Formulir Microsoft Access
Cakupan Proyek
Kami baru-baru ini menambahkan pusat dokumen ke proyek yang memungkinkan pengguna untuk melampirkan dokumen seperti pdf, kata, txt, dan gambar ke proyek. Selain itu, mereka akan memiliki proses otomatis yang diatur untuk membaca email masuk dan menyimpan lampiran email ke drive jaringan. Tujuannya adalah untuk memungkinkan pengguna melihat dokumen baru yang telah diterima dan menyimpannya ke lokasi yang benar. Tentu saja kami akan mengatur proses untuk mengekstrak informasi seperti subjek dan dari siapa dokumen itu berasal untuk memungkinkan pengguna memahami informasi umum dokumen dan ini akan disimpan ke tabel. Selain itu, pengguna harus dapat melihat dokumen untuk membaca isinya.
Solusi
Kami tentu saja dapat meluncurkan aplikasi lain dari akses untuk melihat dokumen Word di Word dan pdf di Adobe Acrobat dll. Namun ketika pengguna hanya memiliki satu layar untuk bekerja, ini berarti beralih dari satu aplikasi ke aplikasi lain dan jika ada beberapa jenis dokumen, maka tentu ini berarti membuka banyak aplikasi. Oleh karena itu, kami menyediakan solusi sederhana yang akan meluncurkan dokumen dalam bentuk akses baru dengan tata letak tab yang memungkinkan pengguna mengelola sistem dengan mudah. Dalam contoh di bawah ini saya menggunakan kode yang akan membaca file dari jalur yang diberikan, yang perlu diakses pengguna di komputer mereka. Atau, jika dokumen disimpan ke tabel SQL, kita dapat memodifikasi kode untuk menyimpan sementara dokumen ke drive lokal dan meluncurkan file dari lokasi sementara. Jika Anda menggunakan metode ini, Anda juga ingin memasukkan kode tambahan untuk menghapus file temp setelah melihat/menutup formulir.
Contoh Formulir
Contoh formulir yang disediakan harus diluncurkan dengan melewati jalur dokumen di OpenArgs
DoCmd.OpenForm "frmDocumentReview", OpenArgs:= Me.DocumentPath
Kode saat memuat memverifikasi bahwa jalur telah dilewati dan juga jika file tersebut ada. Jika semuanya baik-baik saja, prosesnya akan berlanjut.
Private Sub Form_Load() If IsNull(Me.OpenArgs) Then MsgBox "No document to show", , "Path not specified" Exit Sub Else If Not FSO.FileExists(Me.OpenArgs) Then MsgBox "Your computer does not have access to the named file. You need to download the file to view it." Exit Sub Else Showdocument OpenArgs End If End If End Sub
Akhirnya kode memuat dokumen. Sub Showdocument menangani berbagai jenis dokumen. Sebagian besar jenis dokumen menggunakan kasus lain. Formulir itu sendiri memiliki kotak teks tersembunyi yang disebut txtPath yang menyimpan nilai OpenArgs (Nama file dan jalur) ini dapat berupa drive yang dipetakan atau UNC. Objek browser web menyimpan =[txtPath] sebagai sumber kendali. Namun dokumen word tidak bekerja dengan cara yang sama, dan Anda harus terlebih dahulu menyimpan dokumen sebagai html. Saya menggunakan metode yang aslinya ditulis oleh Crystal Long dan membuat beberapa perubahan kecil.
Private Sub Showdocument(strPath As String) Dim strExt As String Dim sPathFileHTML As String Dim oWordApp As Object Dim oDoc As Object strExt = GetFileExt(strPath) Select Case strExt Case "docx" 'save word doc as HTML sPathFileHTML = CurrentProject.Path & "\temp.html" Set oWordApp = CreateObject("Word.Application") Set oDoc = oWordApp.Documents.Open(strPath) oDoc.SaveAs2 FileName:=sPathFileHTML, FileFormat:=8 'wdFormatHTML oDoc.Close False oWordApp.Quit Set oDoc = Nothing Set oWordApp = Nothing Case Else sPathFileHTML = strPath End Select 'open in browser control Me.txtPath.Value = sPathFileHTML End Sub