Cara menggunakan layanan Web XML dengan menggunakan ASP.BERSIH dari kantor makro VBA di Word atau Excel

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 307033 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini menunjukkan bagaimana untuk menggunakan layanan XML Web menggunakan ASP.BERSIH dari Visual Basic for Applications (VBA) makro di Word atau Excel.

INFORMASI LEBIH LANJUT

Untuk berhasil berkomunikasi dengan Web XML layanan menggunakan ASP.BERSIH dari kantor makro, Toolkit SABUN harus diinstal pada komputer klien yang menjalankan makro. Dengan demikian, SABUN Toolkit ini diperlukan untuk demonstrasi di artikel ini. Untuk rincian tentang SABUN Toolkit, termasuk download petunjuk, lihat Microsoft berikut pengembang Situs Web Network (MSDN):
SABUN Toolkit 2,0 SP2
http://MSDN.Microsoft.com/webservices/Building/soaptk/

Menciptakan layanan Web XML menggunakan ASP.NET

  1. Mulai Microsoft Visual Studio.NET. Pada Berkas menu, klik Baru kemudian klik Project. Dalam Proyek baru kotak dialog, klik Proyek-proyek Visual Basic di bawah Jenis proyek, lalu klik XML layanan Web menggunakan ASP.NET di bawah Pola acu. Nama proyek SQLQuery dan klik Oke. Bentuk desain untuk Service1 muncul secara default.
  2. Pada Lihat menu, klik Kode untuk menampilkan jendela kode untuk Service1.
  3. Paste kode berikut di bagian atas jendela kode:
    Imports System.Data.SqlClient
  4. Paste kode berikut di kelas Service1 (sebelumAkhir kelas).

    Catatan Anda harus mengubah ID pengguna <username> dan password =<strong password=""> untuk nilai-nilai yang benar sebelum Anda menjalankan ini kode. Pastikan bahwa ID pengguna memiliki izin yang sesuai untuk melakukan ini operasi pada database.<b00></b00></strong></username>
    Private Const strConn = "User ID=<username>;Password=<strong password>;Initial Catalog=pubs;Data Source=localhost"
    
    <WebMethod()> Public Function GetIDs() As String()
        Dim i As Integer
    
        ' Create an open connection.
        Dim oConn As New SqlConnection(strConn)
        oConn.Open()
    
        Dim oDataset As New System.Data.DataSet()
        ' Execute the query.
        Dim oAdapter As New SqlDataAdapter("SELECT au_id FROM authors", oConn)
        ' Fill the dataset.
        oAdapter.Fill(oDataset)
    
        Dim s(oDataset.Tables(0).Rows.Count - 1) As String
        ' Create an array of IDs.
        For i = 0 To oDataset.Tables(0).Rows.Count - 1
            s(i) = oDataset.Tables(0).Rows(i).ItemArray.GetValue(0)
        Next i
        ' Return the array.
        Return s
    End Function
    
    <WebMethod()> Public Function QueryDatabase(ByVal sID As String) As String()
        Dim i As Integer
    
        ' Create an open a connection.
        Dim oConn As New SqlConnection(strConn)
        oConn.Open()
    
        Dim oCommand As New SqlCommand("SELECT * FROM authors WHERE au_id='" + sID + "'", oConn)
        Dim oReader As SqlDataReader
        ' Execute the query and assign results to a SqlDataReader.
        oReader = oCommand.ExecuteReader()
        oReader.Read()
    
        Dim s(7) As String
        ' Build an array of results.
        For i = 0 To 7
            s(i) = CType(oReader.GetValue(i), String)
        Next
        ' Return the array.
        Return s
    End Function
    					
    CATATAN: Memodifikasi strConn konstan dalam kode sehingga koneksi sah string untuk SQL Server pub database.

Menguji layanan Web

  1. Tekan F5 untuk membangun dan menjalankan solusi layanan Web. Kapan Anda menjalankan layanan Web dari.BERSIH lingkungan pengembangan terpadu (IDE), Microsoft Internet Explorer beban Service1.asmx dari solusi Anda.
  2. Tes GetIDs metode. Untuk melakukannya, klik GetIDs hyperlink, lalu klik Memohon.

    Metode menampilkan daftar penulis ID yang Web layanan yang diekstrak dari pub database. Hasil yang ditampilkan dalam browser sebagai XML.
  3. Tutup jendela browser atau windows dan kembali ke Visual Studio.
  4. Tekan F5 untuk menjalankan layanan Web.
  5. Tes QueryDatabase metode. Untuk melakukannya, klik QueryDatabase hyperlink, kemudian ketik 409-56-7008 untuk sID parameter dan klik Memohon.

    Metode kembali rincian untuk penulis dengan ID 409-56-7008. Hasil yang ditampilkan dalam browser sebagai XML.
  6. Tutup jendela browser atau windows untuk mengakhiri Web layanan.

Menggunakan layanan Web dari kata

Sampel ini menggunakan Elegan Fax template yang kapal dengan kata. Sampel ini tidak bekerja tanpa template ini. Untuk menginstal template, ikuti langkah berikut:
  1. Memulai Wisaya penataan kantor.
  2. Di wizard, klik Menambah atau menghapus fitur.
  3. Di bawah Fitur install, memperluas Microsoft Excel untuk Windows. Klik Spreadsheet template, klik Lari dari komputer saya, lalu klik Pemutakhiran.
Untuk menggunakan layanan Web dari Word, ikuti langkah berikut:
  1. Mulai Word. Dokumen kosong dibuat oleh default.
  2. Pada Alat menu, klik Makro kemudian klik Penyunting Visual Basic. Pada Masukkan menu, klik Modul untuk memasukkan kode kosong modul.
  3. Pada Alat menu, klikReferensi.
  4. Dalam Referensi kotak dialog, pilihPerpustakaan jenis Microsoft SABUN, lalu klikOke.

    Catatan Jika Perpustakaan jenis Microsoft SABUN bukan tersedia di Referensi kotak dialog, lalu klikPeople. Dalam Menambahkan referensi kotak dialog Browse ke direktori C: program Files\MSSoap\Binaries dan pilih mssoap1.dll. Klik Terbuka kemudian klikOke.
  5. Paste kode berikut dalam modul kode:
    Public Const sServer = "localhost"
    
    Sub GenerateForm(sID As String)
        Dim oSOAPClient As Object
        
        On Error GoTo errhand
        Set oSOAPClient = CreateObject("MSSOAP.SoapClient")
        oSOAPClient.mssoapinit "http://" + sServer + "/SQLQuery/Service1.asmx?wsdl", "Service1", "Service1Soap"
           
        Dim arrTemp() As String
        arrTemp = oSOAPClient.QueryDatabase(sID)
           
        Dim oDoc As Word.Document
        
        Set oDoc = Application.Documents.Add("Elegant Fax.dot")
        oDoc.Bookmarks("Company").Range.Text = arrTemp(2) + " " + arrTemp(1) + vbCrLf + _
                arrTemp(4) + vbCrLf + arrTemp(5) + ", " + arrTemp(6) + "  " + arrTemp(7) + vbCrLf + _
                arrTemp(3)           
        Exit Sub
    errhand:
        MsgBox "Error #" + Err.Number + ": " + Err.Description
    End Sub
    
    Sub ShowForm()
      ' Show the dialog box to the user.
      UserForm1.Show
    End Sub
    					
    CATATAN: Memodifikasi sServer konstan untuk menunjuk ke server yang adalah Web layanan hosting bahwa Anda baru saja dibuat.

  6. Pada Masukkan menu, klik UserForm untuk memasukkan bentuk kosong pengguna.
  7. Menempatkan kotak daftar besar dan tombol perintah pada bentuk.
  8. Pada Lihat menu, klik Kode untuk mengubah jendela kode untuk bentuk pengguna.
  9. Ganti isi jendela kode dengan berikut:
    Private Sub CommandButton1_Click()
        ' Generate a FAX based on the ID.
        GenerateForm ListBox1.List(ListBox1.ListIndex)
        UserForm1.Hide
    End Sub
    
    Private Sub UserForm_Initialize()
        Dim oSOAPClient As Object
        
        ' Create a SOAP client.
        Set oSOAPClient = CreateObject("MSSOAP.SoapClient")
        ' Initialize the SOAP client to the Web service.
        oSOAPClient.mssoapinit "http://" + Module1.sServer + "/SQLQuery/Service1.asmx?wsdl", "Service1", "Service1Soap"
           
        Dim arrTemp() As String
        ' Get an array of IDs.
        arrTemp = oSOAPClient.GetIDs()
    
        ' Fill the list box with IDs.
        For i = 0 To UBound(arrTemp)
          ListBox1.AddItem arrTemp(i)
        Next
    End Sub
    					
  10. Tutup Editor VBA untuk kembali ke dokumen.
  11. Pada Alat menu, klik Makro kemudian klik Makro. Dalam Makro kotak dialog, menjalankan ShowForm makro untuk menampilkan daftar id. Pilih ID dari daftar dan Klik tombol perintah untuk menghasilkan dokumen faks dengan pengguna informasi.

Menggunakan layanan Web dari Excel

Sampel ini menggunakan Faktur penjualan template yang kapal dengan Excel. Sampel ini tidak bekerja tanpa template ini. Untuk menginstal template, ikuti langkah berikut:
  1. Memulai Wisaya penataan kantor.
  2. Di wizard, klik Menambah atau menghapus fitur.
  3. Di bawah Fitur install, memperluas Microsoft Excel untuk Windows, memperluas Spreadsheet template, lalu klik Faktur penjualan. Klik Lari dari komputer saya dan klik Pemutakhiran.
Untuk menggunakan layanan Web dari Excel, ikuti langkah berikut:
  1. Mulai Excel. Buku kerja kosong dibuat oleh default.
  2. Pada Alat menu, klik Makro kemudian klik Penyunting Visual Basic. Pada Masukkan menu, klik Modul untuk memasukkan kode kosong modul.
  3. Pada Alat menu, klikReferensi.
  4. Dalam Referensi kotak dialog, pilihPerpustakaan jenis Microsoft SABUN, lalu klikOke.

    Catatan: Jika Microsoft SABUN jenis Perpustakaan tersedia di Referensi dialog kotak, kemudian klik People. Dalam Menambahkan referensikotak dialog browse ke direktori C: program Files\MSSoap\Binaries dan pilih mssoap1.dll. Klik Terbuka kemudian klikOke.
  5. Paste kode berikut dalam modul kode:
    Const sTemplatePath = "C:\Microsoft Office\Templates\1033\Sales Invoice.xlt"
    Public Const sServer = "localhost"
    
    Sub GenerateForm(sID As String)
        Dim oSOAPClient As Object
        
        On Error GoTo errhand
        Set oSOAPClient = CreateObject("MSSOAP.SoapClient")
        oSOAPClient.mssoapinit "http://" + sServer + "/SQLQuery/Service1.asmx?wsdl", "Service1", "Service1Soap"
           
        Dim arrTemp() As String
        arrTemp = oSOAPClient.QueryDatabase(sID)
           
        Dim oBook As Excel.Workbook
        
        Set oBook = Application.Workbooks.Add(sTemplatePath)
        With oBook.ActiveSheet
          If If CInt(Application.Version) = 10 Or CInt(Application.Version) = 11 Then
            .Range("D13").Value = arrTemp(2) + " " + arrTemp(1)
            .Range("D14").Value = arrTemp(4)
            .Range("D15").Value = arrTemp(5)
            .Range("F15").Value = arrTemp(6)
            .Range("H15").Value = arrTemp(7)
            .Range("D16").Value = arrTemp(3)
        
            .Range("M13").Value = CStr(Date)
            .Range("C19").Value = "45.8"
            .Range("D19").Value = "Consulting hours"
            .Range("L19").Value = "75"
          ElseIf CInt(Application.Version) = 9 Then
            .Range("data5").Value = arrTemp(2) + " " + arrTemp(1)
            .Range("data6").Value = arrTemp(4)
            .Range("data7").Value = arrTemp(5)
            .Range("data8").Value = arrTemp(6)
            .Range("data9").Value = arrTemp(7)
            .Range("data10").Value = arrTemp(3)
        
            .Range("data11").Value = "45.8"
            .Range("data12").Value = "Consulting hours"
            .Range("data13").Value = "75"
          End If
        End With
        Exit Sub
    errhand:
        MsgBox "Error #" + Err.Number + ": " + Err.Description
    End Sub
    
    Sub ShowForm()
      ' Show the dialog box to the user.
      UserForm1.Show
    End Sub
    					
    Catatan Memodifikasi sServer konstan untuk menunjuk ke server yang adalah Web layanan hosting bahwa Anda baru saja dibuat. Memodifikasi sTemplatePath konstan untuk menunjuk ke jalan yang benar untuk berkas faktur. Untuk Office 2000, lokasi default untuk berkas ini adalah C:\Microsoft Office\Templates\1033\Invoice.xlt. Untuk Office XP, lokasi default adalah C:\Microsoft Office\Templates\1033\Sales Invoice.xlt.

  6. Pada Masukkan menu, klik UserForm untuk memasukkan bentuk kosong pengguna.
  7. Menempatkan kotak daftar besar dan tombol perintah pada bentuk.
  8. Pada Lihat menu, klik Kode untuk mengubah jendela kode untuk bentuk pengguna.
  9. Ganti isi jendela kode dengan berikut:
    Private Sub CommandButton1_Click()
        ' Generate a FAX based on the ID.
        GenerateForm ListBox1.List(ListBox1.ListIndex)
        UserForm1.Hide
    End Sub
    
    Private Sub UserForm_Initialize()
        Dim oSOAPClient As Object
        
        ' Create a SOAP client.
        Set oSOAPClient = CreateObject("MSSOAP.SoapClient")
        ' Initialize the SOAP client to the Web service.
        oSOAPClient.mssoapinit "http://" + Module1.sServer + "/SQLQuery/Service1.asmx?wsdl", "Service1", "Service1Soap"
           
        Dim arrTemp() As String
        ' Get an array of IDs.
        arrTemp = oSOAPClient.GetIDs()
    
        ' Fill the list box with IDs.
        For i = 0 To UBound(arrTemp)
          ListBox1.AddItem arrTemp(i)
        Next
    End Sub
    					
  10. Tutup Editor VBA untuk kembali ke buku kerja.
  11. Pada Alat menu, klik Makro kemudian klik Makro. Dalam Makro kotak dialog, menjalankan ShowForm makro untuk menampilkan daftar id. Memilih ID dari daftar dan Klik tombol perintah untuk menghasilkan faktur dengan pengguna informasi.

REFERENSI

Untuk informasi tambahan mengenai layanan Web, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
297195 INFO: Microsoft SABUN Toolkit 2,0 Interoperability
301273 Bagaimana menulis layanan Web sederhana dengan menggunakan Visual Basic.NET

Properti

ID Artikel: 307033 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ASP.NET 1.0
  • Microsoft Word 2000
Kata kunci: 
kbhowto kbmt KB307033 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:307033

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com