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