Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    contare parole in file .doc

    Ciao a tutti.

    devo contare le parole dentro un file word.


    codice:
    Response.Buffer = True 
    strFileName="test_parole.doc" 
    strFilePath=server.mappath("../template/file/test_parole.doc") 
    set fso=createobject("scripting.filesystemobject") 
    set f=fso.getfile(strfilepath) 
    strFileSize = f.size 
    set f=nothing: set fso=nothing 
    Const adTypeBinary = 1 
    Set objStream = Server.CreateObject("ADODB.Stream") 
    objStream.Open 
    objStream.Type = adTypeBinary 
    objStream.LoadFromFile strFilePath 
    strFileType = "application/vnd.ms-word"
    
    sTesto = objStream.Read
    
    'conto le parole
    If Len(sTesto) > 0 then
    dim regex
    set regex = new RegExp
    regex.IgnoreCase = True
    regex.Global = True
    regex.Pattern = "\b(\w+?)\b"
    
    conta_testo = FormatNumber(regex.Execute(Replace(sTesto,"'", "")).Count, 0) 
    response.write conta_testo & " Parole 
    " 
    
    end if 
    
    objStream.Close 
    Set objStream = Nothing

    le parole nel file sono 416

    ma mi ritorna un bel 56

    Uso la funzione conta parole con file .txt e non sbaglia di una virgola

  2. #2
    apri un doc col notepad e vedi che casino...

  3. #3
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    lo so Opti...


    ma come vedi lo apro con il metodo strem...

    Set objStream = Server.CreateObject("ADODB.Stream")

    semmai forse è sbagliata la regular expression per Word:


    codice:
    If Len(sTesto) > 0 then
    dim regex
    set regex = new RegExp
    regex.IgnoreCase = True
    regex.Global = True
    regex.Pattern = "\b(\w+?)\b"
    
    conta_testo = FormatNumber(regex.Execute(Replace(sTesto,"'", "")).Count, 0) 
    response.write conta_testo & " Parole 
    " 
    
    end if

  4. #4
    che c'entra il metodo di apertura? non puoi trattarlo come un normale txt

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    bene allora come posso fare ?
    grazie.

  6. #6
    Originariamente inviato da agenti
    bene allora come posso fare ?
    grazie.
    word ha una funzione "conta parole", devi trovare il modo di richiamarla dall'esterno. ovviamente Word deve essere installato sul server...

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    non è possibile...

    avevo trovato una dll in grado di fare questa operazione , ma lavoro in Hosting.

    Pensavo che tramite binary fosse possibile leggere il contenuto del file eper poi darlo in pasto alla funzione conta parole.

    In realtà so che è possibile visto che esistono modi con asp di modificare un file doc.

  8. #8
    Originariamente inviato da agenti
    In realtà so che è possibile visto che esistono modi con asp di modificare un file doc.
    curiosa associazione... cmq, quando lo scopri, faccelo sapere

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    cosa è curioso ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.