Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

Come popolare un campo di modulo ASP in un file Word sul lato server

Diverse attività possono essere eseguite con ASP , come ad esempio la creazione di pagine web e la generazione del modello. Dal momento che Microsoft ha sviluppato il linguaggio di programmazione ASP.NET , è interoperabile con altri prodotti Microsoft , come ad esempio Excel e programmi di Word . ASP non è difficile da configurare e utilizzare , perché il motore della applicazione fa tutto , dal finire il lavoro e l'elaborazione del codice per l'invio del codice al browser dell'utente per l'attuazione. Istruzioni
1

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