Avviare Microsoft Word e fare clic su "File" nella barra dei menu . Fare clic su "Salva con nome " dal menu a discesa. Quando la finestra di dialogo Salva con nome si apre, fare clic sulla " freccia nera rivolta verso il basso " e scegliere " modello di documento ( * . Dot) " dall'elenco a discesa come formato di documento . Questo modello sarà caricato con diversi componenti di Microsoft Word avanzati , come la grafica e gli elementi di disegno , campi di Stampa unione , campi modulo testo e check-box , un piè di pagina nidificati e dinamica codici VBA . 
 2 
 Scegliere " Vista dalla barra dei menu e selezionare " Barre degli strumenti "dal menu a discesa. Nel menu a comparsa della barra degli strumenti , fai clic su" Forms ", e poi aggiungere un " campo modulo testo " per il vostro documento. 
 
 tasto destro del mouse sul " campo modulo testo" si è creato e scegliete "Proprietà" per ottenere le informazioni segnalibro . Associare un nome nel campo segnalibro per ottenere il valore del campo unione verrà creato in seguito. Impostare il "Tipo" in testo normale . l' uscita dovrebbe essere [ ____ ] . 
 3 
 Scegliere "Inserisci" sulla barra dei menu , quindi selezionare l'opzione " stampa unione" e la categoria " MergeField " nome del campo. Inserire il nome che avete indicato al Campo modulo testo segnalibro in precedenza dopo il testo l'output dovrebbe essere [ Bookmark nome] Inoltre , inserire il successivo codice VBA per proteggere i campi MailMerge vengano eliminati nel modello da altri utenti " MERGEFIELD . » . : 
 
Sub Proteggere ( ) per
 ' 
 
 ' Proteggi Macro 
 
 ' 
 
 ActiveDocument.Protect wdAllowOnlyFormFields , vero 
 
 End Sub 
 4 
 Inserire il seguente codice per migliorare la funzionalità del documento con le macro . Questa demo fornisce agli utenti con molte caratteristiche avanzate sul database lato server , e anche raccogliere ed archiviare i valori da i campi del modulo che hai creato per essere utilizzato nella funzione SendRequest : 
 
Public Sub Update ( ) per
 Dim yn Come VbMsgBoxResult 
 
yn = MsgBox ( " Vuoi aggiornare il database con le nuove selezioni beneficiari ? " , vbYesNo , " Database Update? " ) per
 yn = vbNo Poi 
 
 Exit Sub End If 
 
 
 
 Dim Vals ( 4) As Variant 
 
 Dim Stato As Integer 
 
 ActiveDocument.FormFields ( " chka " ) . CheckBox.Value = True Then 
 
 stato = 1 
 
 ElseIf ActiveDocument.FormFields ( " chkB " ) . CheckBox.Value = True Then 
 
 Stato = 2 
 
 ElseIf ActiveDocument.FormFields ( " chkC " ) . CheckBox.Value = true Then 
 
 Stato = 3 
 
 End If 
 
 Vals ( 0 ) = " BeneficiaryStatus = " & Stato 
 
 Vals ( 1 ) = " Primary1 = "& Trim ( ActiveDocument.FormFields ( " Primary1 " ) . Risultato) 
 
Vals ( 2 ) = " primaria2 = " & Trim ( ActiveDocument.FormFields ( " primaria2 " ) . Risultato ) per
 Vals ( 3) = " Contingent1 = " & Trim ( ActiveDocument.FormFields ( " Contingent1 " ) . Risultato) 
 
Vals ( 4) = " Contingent2 = " & Trim ( ActiveDocument.FormFields ( " Contingent2 " ) . risultato ) per
 Dim URL As String Dim 
 
 reqname As String Dim 
 
 httpStatus As Integer 
 
 URL = " http://localhost/Demos/OfficeWriter /Postone /BeneficiarySelection.aspx " 
 
 reqname = " UpdateBeneficiaries " 
 
 On Error Resume Next 
 
httpStatus = HotCellRequest.SendRequest (URL , reqname , vals ) per
 If Err.Number < > 0 Then MsgBox 
 
 "Errore invio richiesta HotCell . Impossibile contattare pagina di aggiornamento del database del server "& _ 
 
 vbCrLf & " Dettagli : . "& Err.Description , _ 
 
 vbCritical , " HotCell Richiesta non riuscita "
 
 Exit Sub 
 
 End If 
 
 On Error GoTo 0 
 
 httpStatus = 200 Poi 
 
 MsgBox "Tu hai inviato con successo le selezioni beneficiari . " , _ 
 
 vbOKOnly , " HotCell aggiornamento riuscito " 
 
 Else 
 
 MsgBox " L'aggiornamento del database HotCell non è riuscito. Il database del server - side update " & _ 
 
 " pagina ha restituito un errore . Il server ha restituito il codice di stato : "& httpStatus , _ 
 
 vbCritical , " HotCell Errore di aggiornamento " 
 
 End If End Sub 
 
 
 5 
 . Inserire il codice qui sotto per attivare la funzione SendRequest sul documento vicino per inviare i valori del form tramite HTTP per la pagina ASP.NET Ciò popolare il database con i campi del modulo che hai creato , mantenendo intatte tutte le informazioni dal modello di documento di Word : 
 
 Public Function SendRequest (URL As String , requestName As String , coppie As Variant ) As Integer Dim 
 
 strReq As String Dim 
 
 oHTTP As Object 
 
 ' --- L'oggetto XMLHTTP ha bisogno di valori di modulo da inviare in questa forma : 
 
 ' --- " nome1 = valore1 & nome2 = valore2 & nome3 = value3 " , ecc 
 
 ' --- siamo formando una richiesta di tale formato qui 
 
strReq = Join ( coppie , " &" ) per
 '--- Utilizzare l'oggetto XMLHTTP per fare la richiesta 
 
 HTTP On Error Resume Next 
 
oHTTP = CreateObject ( " Msxml2.XMLHTTP.3.0 " ) per
 If Err.Number < > 0 Then 
 
 Err.Raise Err.Number , " HotCellRequest " , _ 
 
 "Impossibile creare l'oggetto XMLHTTP che è richiesto da HotCells ". 
 
 Exit Function End If 
 
 
 
 On Error GoTo 0 
 
 On Error Resume Next 
 
 oHTTP.Open "POST" , URL , False 
 
 If Err.Number < > 0 Then 
 
 Err . Raise Err.Number , " HotCellRequest " , _ 
 
 " HotCell non è riuscito a connettersi a" & URL & "" & _ 
 
 Err.Description 
 
 Exit Function 
 
 End If 
 
 On Error GoTo 0 
 
 '--- Abbiamo bisogno di impostare questo ogni volta che la presentazione dei dati del modulo 
 
 oHTTP.SetRequestHeader "Content-Type " , " application /x - www - form-urlencoded " 
 
 oHTTP.SetRequestHeader " X - SaHotCellRequest " , requestName 
 
 '--- Invia la richiesta 
 
 On Error Resume Next 
 
oHTTP.Send CStr ( strReq ) per
 If Err.Number < > 0 Then 
 
 Err.Raise Err.Number , " HotCellRequest " , _ 
 
 " HotCell fallito l'invio di dati a" & URL & "" & _ 
 
 Err.Description 
 
 Exit Function End If 
 
 
 
 On Error GoTo 0 
 
 SendRequest = oHTTP.Status 
 
 '--- Pulire 
 
 oHTTP = Nothing End Function 
 
 
 
 
              
Programmazione © www.354353.com