webForumDet fria alternativet

SpellChecker med msword, hur funka med HTML

ASP

14 svar · 319 visningar · startad av clown

Medlem sedan juni 2000126 inlägg
Frågan#1

Hej,

jag har hittat följande script som gör at man kan göra en stavningskontroll med hjälp av clientens msword applikation.

    function SpellChecker(TextValue)

    	Dim objWordobject
    	Dim objDocobject 
    	Dim strReturnValue
    'Create a new instance of word Application
    	Set objWordobject = CreateObject("word.Application")
    	objWordobject.WindowState = 2
    	objWordobject.Visible = True
    'Create a new instance of Document
    	Set objDocobject = objWordobject.Documents.Add( , , 1, True)		
		objDocobject.Content=TextValue
    	objDocobject.CheckSpelling
    'Return spell check completed text data
    	strReturnValue = objDocobject.Content
    'Close Word Document 
    	objDocobject.Close False
    'Set Document To nothing
    	Set objDocobject = Nothing
    'Quit Word
    	objWordobject.Application.Quit True
    'Set word object To nothing
    	Set objWordobject= Nothing
    'Return text    
            SpellChecker=strReturnValue
    End function

Detta fungerar utmärkt (så länge rätt säkerhets inställningar om unsafe activeX object är gjorda i internet explorer).

Men jag skulle vilja kunna skicka in html kod till denna funktionen och få tillbaka rättstavad html kod.

Hur göra??
/Jonas

Medlem sedan jan. 20022 440 inlägg
#2

Jag förstår inte vad du menar...

Medlem sedan juni 2000126 inlägg
#3

Jo, alltså

med den koden som jag har klistrat in längst upp så skickar man in rå texten som finns i ett formulär till msword och ber msword göra en spellcheck på den texten.

skickar jag då in text som innehåller html taggar, så tolkar msword inte html tagarna som html taggar, utan som vanlig text.
När msword då gör spellcheck på den texten blir det ju fel!

Men om man öppnar en msword och skriver lite text och sedan formaterar den (typ bold och size 20) så går det utmärkt att göra spell check på denna formaterade text inuti msword...

Men hur matar jag in min text inkl html taggar från mitt html formulär in i msword så att enbart texten blir spellcheckad?????

Någon som förstår??

objDocobject.Content=TextValue

står det nu, kan man ändra det till typ :
objDocobject.HTMLContent=TextValue

är min fråga??
Någon som vet?

/Mvh Jonas

Medlem sedan apr. 20021 203 inlägg
#4

Yepp, jag förstår vad du menar. När jag rättstavade min HTML-guide hade jag ett fruktansvärt jobb med just htmk-kod.
Jag är inte säkér men jag tror inte att det går att blanda text och HTML utan att själv "miffla", det vill säga att ändra i Microsofts Words tolk....

Men, men, med asp b r u k a r jus allt vara möjligt...

Medlem sedan juni 2000126 inlägg
#5

Grejen är ju den att om du gör några formatieringar innuti msword och kör rättstavning, så kommer tesxten upp formaterat i rättsvaningsfönstret....

Så kan man bara komma på något sätt att skicka in texten till det nya dokumentet som html kod, så borde det fungera, men jag vet inte var jag skall leta efter vba help där jag kan leta om det går att skicka in html kod till word....

Någon som vet var det finns en MSWord vba helper med alla kommando man kan köra mot MSWord?

Medlem sedan jan. 20013 406 inlägg
#6

Någon som utvecklat detta? Jag får det inte äns att fungera...

Medlem sedan jan. 20013 406 inlägg
#7

Fått det att lira nu men inte med att skicka HTML kod. Någon som fått det? Läst någonstans att man måste öppna rätt template me i så fall hur gör man det?

Medlem sedan nov. 20022 355 inlägg
#8

kan man inte bara parsa bort html-taggarna innan man skickar in texten?

Medlem sedan nov. 20017 144 inlägg
#9

Mc Fetto skrev:

kan man inte bara parsa bort html-taggarna innan man skickar in texten?

Jo visst men om man vill få tillbax det till ursprungligt html-format blir det ju svårare.

Medlem sedan apr. 2004298 inlägg
#10

Skall testa denna function() men får felmess:

Microsoft VBScript runtime error '800a0046'

Permission denied: 'CreateObject'

IUSER har skrivrättigheter på katalogen där scriptet ligger.

/pär

Medlem sedan apr. 2004298 inlägg
#11

Fixat det själv efter lite pill!

/pär

Medlem sedan nov. 20017 144 inlägg
#12

Du måste köra det client-side.

<script type="text/vbscript">
function SpellChecker(TextValue)

    	Dim objWordobject, objDocobject, strReturnValue
    'Create a new instance of word Application
    	Set objWordobject = CreateObject("word.Application")
    	objWordobject.WindowState = 2
    	objWordobject.Visible = True
    'Create a new instance of Document
    	Set objDocobject = objWordobject.Documents.Add		
		objDocobject.Content=TextValue
    	objDocobject.CheckSpelling
    'Return spell check completed text data
    	strReturnValue = objDocobject.Content
    'Close Word Document 
    	objDocobject.Close False
    'Set Document To nothing
    	Set objDocobject = Nothing
    'Quit Word
    	objWordobject.Application.Quit True
    'Set word object To nothing
    	Set objWordobject= Nothing
    'Return text    
            SpellChecker=strReturnValue
    End function
</script>

<input type="button" onclick="SpellChecker('Texstar attt sriva en menign')">

Men jag får det bara det att fungera om jag har scriptet lokalt. Så detta går man bet på lik förbannat.

Medlem sedan apr. 2004298 inlägg
#13

Jesper T skrev:

Du måste köra det client-side

Va? , nej? måste man... Jag kör ju det hos min leverantör och jag själv har inte Ms Office installerat för tillfället.

Felet jag hade berodde på att IUSER inte hade rättighet att köra Ms Office på servern.

/pär

Medlem sedan nov. 20017 144 inlägg
#14

Ja, ja du kan göra så om word är installerat på servern. Men det kräver väl ändå lite kompletteringar för att få det att rulla, eller?

Medlem sedan apr. 2004298 inlägg
#15

Jesper T:

- är din kod .Net?

Tänkte testa din kod. kanske du kan lägga upp hela filen eller skicka den till mig.

/pär

627 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
482 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
482 ms — ändringar (db)