Hvordan å fylle en ASP skjemafelt i et Word-fil på serversiden
Ulike oppgaver kan utføres med ASP, slik som websideoppretting og mal generasjon. Siden Microsoft utviklet ASP.NET programmeringsspråk, er det brukes sammen med andre Microsoft-produkter, for eksempel Excel og Word-programmer. ASP er ikke vanskelig å sette opp og bruke fordi programmets motor gjør alt, fra å fullføre jobben og behandling koden for å sende koden til brukerens nettleser for gjennomføring.
Bruksanvisning
1 Start Microsoft Word og klikk på "File" fra menylinjen. Klikk "Lagre som" fra rullegardinmenyen. Når dialogboksen Lagre som dukker opp, klikker du på "black ned-pilen som peker" og velg "Dokument mal (DOT)" fra rullegardinlisten som dokumentformat. Denne malen vil bli lastet med ulike avanserte Microsoft Word-komponenter, for eksempel grafikk og tegning elementer, flettefelt, tekst og sjekk-box skjemafelt, en nestet bunntekst og dynamiske VBA koder.
2 Velg "Vis fra menylinjen og velg" Verktøylinjer "fra rullegardinmenyen. I verktøylinjen er fly-out menyen, klikk på" Skjemaer ", og deretter legge til en" tekstskjemafelt "til dokumentet.
Høyreklikk på "tekstskjemafelt" du har laget og velg "Properties" for å få bokmerket informasjon. Knytt et navn i bokmerkefeltet for å få verdien av flettefeltet du vil lage senere. Sett "Type" til vanlig tekst. Utgangen skal være [____].
3 Velg "Sett inn" fra menylinjen, og velg deretter kategorien "Utskriftsfletting" og "MERGEFIELD" feltnavn. Skriv inn navnet du utpekt til tekstform Feltet bokmerke tidligere etter teksten "MERGEFIELD." Utgangen skal være [Bookmark navn]. Også innspill lykkes VBA-kode for å beskytte dine MailMerge felt fra å bli slettet i malen av andre brukere:
Sub Protect ()
'
'Protect Macro
'
ActiveDocument.Protect wdAllowOnlyFormFields, Sann
End Sub
4 Sett inn følgende kode for å forbedre dokumentet funksjonalitet med makroer. Denne demoen gir brukerne med mange avanserte funksjoner på serversiden database, og det også samle inn og lagre verdiene fra feltene du opprettet for å bli brukt i SendRequest funksjon:
Public Sub Update ()
Dim yn Som VbMsgBoxResult
yn = MsgBox ( "Vil du oppdatere databasen med nye mottaker valg?", vbYesNo, "Update Database?")
Hvis YN = vbNo Deretter
Exit Sub
Slutt om
Dim vals (4) Som Variant
Dim Status As Integer
Hvis ActiveDocument.FormFields ( «chkA"). CheckBox.Value = True Deretter
Status = 1
ElseIf ActiveDocument.FormFields ( "chkB"). CheckBox.Value = True Deretter
Status = 2
ElseIf ActiveDocument.FormFields ( "chkC"). CheckBox.Value = True Deretter
Status = 3
Slutt om
vals (0) = "BeneficiaryStatus =" & Status
vals (1) = "Primary1 =" & Trim (ActiveDocument.FormFields ( "Primary1"). Resultat)
vals (2) = "Primary2 =" & Trim (ActiveDocument.FormFields ( "Primary2"). Resultat)
vals (3) = "Contingent1 =" & Trim (ActiveDocument.FormFields ( "Contingent1"). Resultat)
vals (4) = "Contingent2 =" & Trim (ActiveDocument.FormFields ( "Contingent2"). Resultat)
Dim URL As String
Dim reqname As String
Dim httpstatus As Integer
URL = "http: //localhost/Demos/OfficeWriter/PostOne/BeneficiarySelection.aspx"
reqname = "UpdateBeneficiaries"
På Error Resume Next
httpstatus = HotCellRequest.SendRequest(URL, reqname, vals)
Hvis err.number & lt;> 0 Then
MsgBox "Feil under sending HotCell forespørsel. Kan ikke kontakte server database oppdatering side." & _
vbCrLf & "Details:" & Err.Description, _
vbCritical, "HotCell Request Failed"
Exit Sub
Slutt om
På Error GoTo 0
Hvis httpstatus = 200 Da
MsgBox "You have successfully submitted your Beneficiary selections.", _
vbOKOnly, "HotCell Oppdatering Vellykket"
Ellers
MsgBox "The HotCell database update did not succeed. The server-side database update " & _
"Side returnerte en feil Tjeneren returnerte statuskode:." & Httpstatus, _
vbCritical, "HotCell Update Error"
Slutt om
End Sub
5 Tast inn koden under for å aktivere SendRequest funksjonen på dokumentet nær sende skjemaverdier via HTTP til ASP.NET side. Dette vil fylle databasen med skjemafeltene du opprettet mens du holder all informasjonen intakt fra Word-dokumentet mal:
Public Function SendRequest (URL As String, requestname As String, par As Variant) As Integer
Dim strReq As String
Dim oHTTP As Object
'--- Den XMLHTTP objektet trenger form verdier som skal sendes i dette skjemaet:
'--- "Name1 = value1 & navn2 = value2 & NAME3 = verdi3", etc
'--- Vi danner en forespørsel fra dette formatet her
strReq = Bli med (parene, "&")
'--- Bruk XMLHTTP objekt å gjøre HTTP-forespørsel
På Error Resume Next
Set oHTTP = CreateObject("Msxml2.XMLHTTP.3.0")
Hvis err.number & lt;> 0 Then
Err.Raise err.number, "HotCellRequest", _
"Kunne ikke opprette XMLHTTP objekt som kreves av HotCells."
Exit Function
Slutt om
På Error GoTo 0
På Error Resume Next
oHTTP.Open "POST", URL, False
Hvis err.number & lt;> 0 Then
Err.Raise err.number, "HotCellRequest", _
"HotCell ikke klarte å koble til" & URL & "" & _
Err.Description
Exit Function
Slutt om
På Error GoTo 0
'--- Vi trenger å sette dette når du sender inn skjemaet data
oHTTP.SetRequestHeader "Content-Type", "application / x-www-form urlencoded"
oHTTP.SetRequestHeader "X-SaHotCellRequest", requestname
'--- Send forespørsel
På Error Resume Next
oHTTP.Send CStr(strReq)
Hvis err.number & lt;> 0 Then
Err.Raise err.number, "HotCellRequest", _
"HotCell mislyktes når du sender data til" & URL & "" & _
Err.Description
Exit Function
Slutt om
På Error GoTo 0
SendRequest = oHTTP.Status
'--- Rydde opp
Sett oHTTP = Nothing
End Function
Hint
- Det finnes ulike elektroniske opplæringsprogrammer tilgjengelig for gratis som du kan laste ned og øve på. Lær så mange som mulig til å bli kjent med VBA og ASP programmeringsspråk.