venerdì 17 giugno 2016

gestione contatore numero report - vbs

'

' traferito

Option Explicit

'

'

Dim objA

Set objA = Wscript.Arguments

if objA.count <> 3 Then

Wscript.Echo "Gestione Contatore - serve la directory File!"

Wscript.Quit

End If

'

dim dbcartellaprocedura, archivioinput, archiviooutput, testoinput, testooutput

dbcartellaprocedura = objA(0)

archivioinput = dbcartellaprocedura & objA(1)

archiviooutput = dbcartellaprocedura & objA(2)

'

dim contenutoletto

dim dbcontatore, numeroreport

'

dbcontatore = dbcartellaprocedura & "db-numero-report.txt"

'

'

' - legge o crea il numeratore dei report

call LeggioCreaFileParametri(dbcontatore, 1)

'

if isnumeric(contenutoletto) = true then

numeroreport = contenutoletto + 1

else

numeroreport = 1

end if

'

call SovraScriviFile(dbcontatore, numeroreport)

'

testoinput = leggiparametri(archivioinput)

testooutput = testoinput & " - report numero: " & numeroreport



call SovraScriviFile(archiviooutput, testooutput)

'

' =========================

' === sovra scrive file ===

' =========================

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' =============================

'

function leggiparametri(sFilePathAndName)

dim sFileContents, oFS, oTextStream, esito

Set oFS = CreateObject("Scripting.FileSystemObject")

If oFS.FileExists(sFilePathAndName) = True Then

Set oTextStream = oFS.OpenTextFile(sFilePathAndName,1)

sFileContents = trim(oTextStream.ReadAll)

oTextStream.Close

Set oTextStream = nothing

else

'esito = esito + 1

End if

Set oFS = nothing

'

leggiparametri = sFileContents

'

'

end function

'

' ======================

'

Sub LeggioCreaFileParametri(sFileName, valoredefault)

'

dim objFSO, objFile, strLine

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(sFilename) Then

'esistefile = "si"

Set objFile = objFSO.OpenTextFile(sFileName, 1)

'contenutoletto = objFile.Readall

contenutoletto = objFile.ReadLine

Else

'esistefile = "no"

contenutoletto = valoredefault

Set objFile = objFSO.CreateTextFile(sFileName, TRUE)

objFile.WriteLine(valoredefault)

End If

'

Set objFile = Nothing

Set objFSO = Nothing

'

End sub

'

' ========

'

giovedì 16 giugno 2016

prg esegui programma dopo n giorni - vbs

' trasferito

option explicit

'

dim contenutoletto

'

dim cartelladilavoro, dblog, slog

cartelladilavoro = "C:\azioniprogrammate\modelli\esegui-dopo-n-giorni\"

'

dblog = cartelladilavoro & "db-alla-data.txt"

'

dim fromDate, toDate, differenza

'

call leggitutto(dblog)

toDate = contenutoletto

fromDate = date

differenza = DateDiff("d", toDate, fromDate) ' giorni

'

dim ogniquantigiorni, dbgiorni

dbgiorni = cartelladilavoro & "db-ogni-quanti-giorni.txt"

call leggitutto(dbgiorni)

ogniquantigiorni = clng(contenutoletto)

'

if isnumeric(ogniquantigiorni) = true then

if differenza > ogniquantigiorni then

slog = date

dblog = cartelladilavoro & "db-alla-data.txt"

call SovraScriviFile(dblog, slog)

call eseguiprogramma

end if

end if

'

' =========

'

sub eseguiprogramma()

'

Dim objShell, attesa, azione, programma

Set objShell = Wscript.CreateObject("WScript.Shell")

' ====

dim dbprogramma

dbprogramma = cartelladilavoro & "db-programma-da-eseguire.txt"

call leggitutto(dbprogramma)

'

programma = contenutoletto

azione = programma

attesa = objShell.Run(azione, 1, true)

'



end sub

'

' =========

'

sub leggitutto(pfiledaleggere)

'

dim objFSO, objFile

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(pfiledaleggere) Then

'esistefile = "si"

Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)

contenutoletto = objFile.Readall

contenutoletto = replace(contenutoletto, vbcrlf, "")

contenutoletto = replace(contenutoletto, vbcr, "")

contenutoletto = replace(contenutoletto, vblf, "")

objFile.Close

Else

'esistefile = "no"

contenutoletto = ""

End If

Set objFSO = Nothing

'

end sub

'

' === sovra scrive file ===================

'

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' ===================

'

venerdì 27 maggio 2016

Crea dizionario linee commerciali - File carattestiche Prodotto

Attribute VB_Name = "m_linee_commerciali"

'

Option Explicit

'



'

' trasferito

'

Sub CreaDizionarioLineeCommerciali()

' suddivide il file importato CARATTERISTAPRODOTTO (ECP)

' filtrando per sigla del produttore e marca,

' seleziona solo le righe con il codice: "LINEA COMMERCIALE"

' e crea un foglio per ognuna di esse.

'

Dim dizionario

Set dizionario = CreateObject("Scripting.Dictionary")

'

Dim quanterighe, contarighe, foglio, contenuto

Dim sigla, marca, identificativo, descrlinea

Dim sigladacercare, marcadacercare, identificativodacercare, contale

sigladacercare = "?sigla?"

marcadacercare = "?marca?"

identificativodacercare = "?id?"

Set foglio = Sheets("xlsCaratteristicheProdotto")

'

quanterighe = Range(foglio.UsedRange.Cells(foglio.UsedRange.Rows.Count, 1).Address).Row

'

contale = 0

contarighe = 2

While contarighe <= quanterighe

sigla = Trim(foglio.Cells(contarighe, "A").Value)

marca = Trim(foglio.Cells(contarighe, "B").Value)

identificativo = Trim(foglio.Cells(contarighe, "E").Value)

descrlinea = Trim(foglio.Cells(contarighe, "F").Value)

'

If sigla = sigladacercare Then

If marca = marcadacercare Then

If identificativo = identificativodacercare Then

If dizionario.Exists(descrlinea) = True Then

' msgbox "Key esiste!"

contenuto = dizionario.Item(descrlinea)

contenuto = contenuto & " " & contarighe ' memorizza la riga

dizionario.Item(descrlinea) = contenuto

Else

' msgbox "chiave non esiste!"

contenuto = contarighe

dizionario.Add descrlinea, contenuto

End If

End If



End If

End If

'

contarighe = contarighe + 1

Wend

'

Dim elenco, contatore, slinea, sriga, righe, nrvalori, srighe, rigacp, scriviriga

sriga = 1

elenco = dizionario.keys

For contatore = 0 To dizionario.Count - 1

slinea = elenco(contatore)

sriga = sriga + 1

Sheets("LineeCommerciali").Cells(sriga, "A").Value = slinea

Sheets("LineeCommerciali").Cells(sriga, "B").Value = dizionario.Item(slinea)

'

righe = Split(dizionario.Item(slinea), " ")

nrvalori = UBound(righe)

Sheets("Foglio3").Cells(sriga, "c").Value = UBound(righe)

'

scriviriga = 5

Sheets.Add

Columns("A:G").Select

Selection.NumberFormat = "@"

ActiveSheet.Range("A2").Value = "Marchio: "

ActiveSheet.Range("B2").Value = "?marchio?"

ActiveSheet.Range("A3").Value = "linea: "

ActiveSheet.Range("B3").Value = slinea

ActiveSheet.Range("a4").Value = "articolo"

ActiveSheet.Range("B4").Value = "descrizione"

For Each srighe In righe

rigacp = srighe

ActiveSheet.Cells(scriviriga, "A").Value = foglio.Cells(srighe, "C").Value ' articolo

ActiveSheet.Cells(scriviriga, "B").Value = foglio.Cells(srighe, "K").Value ' descrizione

scriviriga = scriviriga + 1

Next

'

Next

'

Set dizionario = Nothing

'

End Sub

'

giovedì 26 maggio 2016

p01 programma verifica cambio sigle - vbs

'

' trasferito

'

Option Explicit

'

' ==============

'

dim cartelladilavoro, dbcartelladilavoro

cartelladilavoro = "C:\articoli-cambio-sigle\"

dbcartelladilavoro = cartelladilavoro & "db-cartella-di-lavoro.txt"

call SovraScriviFile(dbcartelladilavoro, cartelladilavoro)

'

' =============

'

dim dblog, slog

'

dim contenutoletto

'

dim stringasql, jstringasql, dbstringasql

dbstringasql = cartelladilavoro & "db-stringa-sql-modello.txt"

call leggitutto(dbstringasql)

jstringasql = contenutoletto

'

dim archiviodaleggere

archiviodaleggere = cartelladilavoro & "db-01-elenco-sigle.txt"

call leggielenco(archiviodaleggere)

'

' ====

'

sub leggielenco(filedaleggere)

dim objFSO, objFile, strLine

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile(filedaleggere, 1)

'

Do While objFile.AtEndOfStream = False

strLine = trim(objFile.ReadLine)

strLine = replace(strLine, vbcrlf, "")

strLine = replace(strLine, vbcr, "")

strLine = replace(strLine, vblf, "")

if len(strline) > 0 then

stringasql = replace(jstringasql, "<#>sigla<#>", strLine)

dblog = cartelladilavoro & "db-stringa-sql.txt"

slog = stringasql

call SovraScriviFile(dblog, slog)

'call chiamaprogramma("prg-estrai-dati-sql.vbs", dbcartelladilavoro)

call chiamaprogramma("p02-prg-estrai-dati-sql-dizionario.vbs", cartelladilavoro)

'

dblog = cartelladilavoro & "db-sigla-in-controllo.txt"

slog = strLine

call SovraScriviFile(dblog, slog)

'

call determinatrovati

end if

Loop

'

objFile.Close

Set objFSO = Nothing

Set objFile = Nothing

'

end sub

'

' ====

'

sub determinatrovati()

dim quantitrovati, dbtrovati

dbtrovati = cartelladilavoro & "db-record-estratti.txt"

call leggitutto(dbtrovati)

quantitrovati = trim(contenutoletto)

if isnumeric(quantitrovati) = true then

if cint(quantitrovati) > 0 then

call chiamaprogramma("p03-programma-invia-messaggii-email-utenti.vbs", cartelladilavoro)

else

slog = "niente di nuovo: " & date & " : " & time

call SovraScriviFile(cartelladilavoro & "db-niente-dinuovo.txt", slog)

end if

end if

'

end sub

'

' ====

'

sub chiamaprogramma(nomeprogramma, parametro)

'

Dim objShell, attesa, azione, programma

Set objShell = Wscript.CreateObject("WScript.Shell")

if len(trim(parametro)) > 0 then

programma = cartelladilavoro & nomeprogramma & " " & parametro

else

programma = cartelladilavoro & nomeprogramma

end if

'

azione = ""

azione = azione & programma

azione = azione & " "

'

attesa = objShell.Run(azione, 1, true)

'

end sub

'

' =========

'

sub leggitutto(pfiledaleggere)

'

dim objFSO, objFile

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists(pfiledaleggere) Then

'esistefile = "si"

Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)

contenutoletto = objFile.Readall

contenutoletto = replace(contenutoletto, vbcrlf, "")

contenutoletto = replace(contenutoletto, vbcr, "")

contenutoletto = replace(contenutoletto, vblf, "")

objFile.Close

Else

'esistefile = "no"

contenutoletto = ""

End If

Set objFSO = Nothing

'

end sub

'

' === sovra scrive file ===================

'

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' ===================

'

giovedì 14 aprile 2016

leggi gestione parametri - vbs

'

' gestione di un filme parametri

' ricerca tramite espressione regolare.

' il file parametri ha la struttura di un file xml.

'

option explicit

'

dim strHTML, archivioparametri, jparametri

archivioparametri= "C:\db-parametri.txt"

call leggifileparametri(archivioparametri)

'

jparametri = lavoraparametri(strHTML, "anno", "trova", "")

jparametri = lavoraparametri(strHTML, "anno", "aggiorna", "1999")

jparametri = lavoraparametri(strHTML, "anno", "trova", "1900") ' nel caso non esista

jparametri = lavoraparametri(strHTML, time, "trova", "orario attuale")

'

' ===============

'

function lavoraparametri(sTxt, pnomecampo, pazione, pvaloredefault)

dim oRegex, criterio, retval, agg, nuovovalore

set oRegex = CreateObject("vbscript.regexp")

oRegex.Global = 1

oRegex.Multiline = 1

oRegex.IgnoreCase = 1

'

retval = ""

criterio = "<" & pnomecampo & ">((?:.|\n|\r)*?)</" & pnomecampo & ">"

nuovovalore = "<" & pnomecampo & ">" & pvaloredefault & "</" & pnomecampo & ">"

'

oRegex.Pattern = criterio

If oRegex.Test(sTxt) = true Then

if pazione = "trova" then

retval = oRegex.Execute(sTxt).item(0).SubMatches.item(0)

lavoraparametri = retval

end if

if pazione = "aggiorna" then

agg = oRegex.Replace(strHTML, nuovovalore)

call SovraScriviFile(archivioparametri, agg)

call leggifileparametri(archivioparametri)

end if

else

agg = strHTML & nuovovalore

call SovraScriviFile(archivioparametri, agg)

call leggifileparametri(archivioparametri)

end if

'

'

end function

'

' =========

'

sub leggifileparametri(parchivio)

dim filesys, readfile, jtxt

set filesys = CreateObject ("Scripting.FileSystemObject")



If (filesys.FileExists(parchivio)) Then

'msg = filespec & " esiste."

set readfile = filesys.OpenTextFile(parchivio, 1, false)

strHTML = readfile.ReadAll

Else

'msg = filespec & " Non esiste."

Set readfile = filesys.CreateTextFile(pArchivio, TRUE)

jtxt = "<vuoto>mancano paramenti</vuoto>"

readfile.WriteLine(jtxt)

End If

'

readfile.close

'

end sub

'

' ========= sovra scrive file ===================

'

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' ==================

'

martedì 2 febbraio 2016

allinea archivi prima nota legge archivio - vbs

'

option explicit

'

dim cartellabase, cartelladascansionare, a

cartellabase = "C:\azioniprogrammate\archivio_digitale_verifica_esistenza_fatture\"

cartelladascansionare = "C:\ARCHIVIO_DIGITALE_2015\"

'

dim dblog, slog

dblog = cartellabase & "test-report.txt"

'call SovraScriviFile(dblog, " ")

'

dim ArrayOfTerms(), contadati

contadati = 0

'

a = ShowFolderList(cartelladascansionare, "pdf")

'

call ordina

'

' ===

'

Function ShowFolderList(folderspec, ptipo)

Dim fso, f, f1, s, sf, sfiles

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(folderspec)

Set sf = f.SubFolders

For Each f1 in sf

For Each sfiles in fso.GetFolder(f1.Path).Files

If lcase(fso.GetExtensionName(sfiles.Path)) = lcase(ptipo) then

'slog = sfiles.Path

' call ScriviFileJollyAppend(dblog, slog)

'

's = trim(RicercaRisultato(sfiles.Path, "^\d{4}_"))

s = trim(RicercaRisultato(sfiles.Name, "^\d{4}_"))

if len(s) > 0 then

slog = s & vbcrlf & sfiles.Name ' sfiles.Path

'call ScriviFileJollyAppend(dblog, slog)

'add lines

contadati = contadati + 1

redim preserve ArrayOfTerms(contadati)



ArrayOfTerms(contadati) = sfiles.Name

end if

'

End If

Next

Next

'

'

End Function

'

' ===

'

sub ordina()

dim a, j, temp

for a = UBound(ArrayOfTerms) - 1 To 0 Step -1

for j= 0 to a

if ArrayOfTerms(j)>ArrayOfTerms(j+1) then

temp=ArrayOfTerms(j+1)

ArrayOfTerms(j+1)=ArrayOfTerms(j)

ArrayOfTerms(j)=temp

end if

next

next

'

dblog = cartellabase & "db-fatture-esistenti.txt"

call SovraScriviFile(dblog, " ")

dim nrft

'

'

for a = 1 to UBound(ArrayOfTerms)

slog = ArrayOfTerms(a)

nrft = left(slog, 4)

slog = nrft

call ScriviFileJollyAppend(dblog, slog)

next

'

end sub

'

' ============

'

Function RicercaRisultato(strVal, comecercare) 'As String

Dim sParts, sPart, rPart 'As Object

Set rPart = CreateObject("VBScript.RegExp")

rPart.Global = True

rPart.IgnoreCase = True

rPart.pattern = comecercare '

'get the results

Set sParts = rPart.Execute(strVal)

'get the first match

For Each sPart In sParts

RicercaRisultato = sParts(0)

Exit For

Next 'sPart

Set sParts = Nothing

End Function

'

' === sovra scrive file ===================

'

Sub SovraScriviFile(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' ==================

'

Sub ScriviFileJollyAppend(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

If (fso.FileExists(pNomeArchivio)) Then

'msg = filespec & " esiste."

Set rifefile = fso.OpenTextFile(pNomeArchivio, 8)

Else

'msg = filespec & " Non esiste."

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

End If

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

'

' =========

'

giovedì 26 marzo 2015

sistema protocollo fatture acquisto - vbs

'

' vbs - trova il numero di protocollo delle fatture d'acquisto.

' scansiona cartella archivio digitale delle fatture di acquisto.

' le fatture sono i file pdf inviati dai fornitori, il nome del file è quello attribuito da fornitore.

' tramite una espressione regolare trova il numero della fattura di acquisto presente nel nome del file,

' sempre che il fornitore vi inserisca questa informazione.

' il criterio di ricerca è archiviato in un file con il nome della cartella, la manca presenza

' di questo file evita che il programma effettui la ricerca.

' con il numero di fattura si effettua una ricerca nella contabilità aziendale per trovare il numero

' con cui è stato protocollato il documento.

' il conto fornitore è stato trovato da un precedente programma, che convertendo il file pdf

' in testo, ricerca la partita iva del fornitore nella anagrafica aziendale.

'

option explicit

'

dim dbcartella, dbannosql, dbpercorsobase, dbstringasql, dbcartelladascansionare

dim dbjollylog, slog, archiviocontofornitore, esito, a, contofornitore

dim annosql, percorsobase, stringasqlbase, tcriterio, criterioricerca

dim nomefornitore, cartellainlavoro, nomefileinricerca, dbcartellaricerca

Dim filenellacartella, tchiave, tchiavi, risultato, tquantek

Set filenellacartella = CreateObject("Scripting.Dictionary")

filenellacartella.CompareMode = vbTextCompare

' ==========================

dbcartella = "C:\sistema-protocollo\"

dbcartellaricerca = "C:\sistema-protocollo\ricerca\"

dbpercorsobase = dbcartella & "db-percorso-base.txt"

dbannosql = dbcartella & "db-anno-sql.txt"

dbstringasql = dbcartella & "db-stringa-sql.txt"

dbcartelladascansionare = dbcartella & "db-cartelle-da-scansionare.txt"

archiviocontofornitore = "fornitore-conto-anagrafica.txt"

'

dbjollylog = "C:\sistema-protocollo\log-jolly.txt"

' ---

esito = 0

'

' ===============

' carica anno

annosql = leggiparametri(dbannosql)

' ========================

' leggi path base

percorsobase = leggiparametri(dbpercorsobase)

' =======

' leggi stringasqlbase

stringasqlbase = leggiparametri(dbstringasql)

'

if esito = 0 then

esito = 0

call leggielencocartelledascansionare(dbcartelladascansionare)

end if

'

slog = "Terminato: " & Time

call ScriviFileJollyAppend(dbjollylog, slog)

' msgbox "terminato"

'

' =========

'

sub leggielencocartelledascansionare(Pfiledaleggere)

dim objFSO, objFile, strLine

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile(pfiledaleggere, 1)

'

Do While objFile.AtEndOfStream = False

strLine = trim(objFile.ReadLine)

if len(strLine) > 0 then

nomefornitore = strLine

cartellainlavoro = percorsobase & strLine & "\"

'

set filenellacartella = ShowFileListTipo(cartellainlavoro, ".pdf")

'

tchiavi = filenellacartella.Keys

For Each tchiave In tchiavi

tcriterio = "\d{4}_" & trim(nomefornitore) & ".pdf"

risultato = RimouvoCodificati(tchiave, tcriterio)

Next

'

criterioricerca = leggiparametri(dbcartellaricerca & "ricerca-" & nomefornitore & ".txt")

'

tchiavi = filenellacartella.Keys

For Each tchiave In tchiavi

nomefileinricerca = tchiave

risultato = TrovaValore(tchiave, criterioricerca)

risultato = TrovaValore(risultato, "\d+")

if len(risultato) > 0 then

contofornitore = leggiparametri(cartellainlavoro & archiviocontofornitore)

call recuperadatiSQL(risultato)

if len(trim(contofornitore)) = 0 then

slog = cartellainlavoro & vbcrlf & archiviocontofornitore & vbcrlf & "contofornitore: " & contofornitore

call ScriviFileJollyAppend("C:\sistema-protocollo\manca-conto-fornitore.txt", slog)

end if



end if

Next

'

end if

Loop

'

'

end sub

' ========

' === estrae dati dal database ===

' ========

sub recuperadatiSQL(valoredatrovare)

dim SQLConn, conn, adoCmd, stringasql

dim rsj, estratti

dim nrdoc, partita, jnrdoc, lunghezza

' stringa di conn

SQLConn = "DSN=ODBC;DSN=#????#;UID=#????#;Database=#????#"

'

set conn = createobject("ADODB.Connection")

conn.open sqlconn

' time out

Set adoCmd = CreateObject("ADODB.Command")

adoCmd.CommandTimeout = 45

adoCmd.ActiveConnection = conn

'

stringasql = stringasqlbase

stringasql = replace(stringasql, "#contofornitore#", contofornitore)

stringasql = replace(stringasql, "#annoesercizio#", annosql)

stringasql = replace(stringasql, "#numerodacercare#", valoredatrovare)

'

if len(trim(contofornitore)) = 0 then

exit sub

end if

'

set rsj=CreateObject("ADODB.recordset")

rsj.Open stringasql, conn, 3, 3

estratti = rsj.RecordCount

'

if estratti = 1 then

nrdoc = trim(rsj(2).value)

'

jnrdoc = "000000000" & nrdoc

lunghezza = len(valoredatrovare)

jnrdoc = right(jnrdoc, lunghezza)

'

partita = "0000" & trim(rsj(3).value)

partita = right(partita,4)

if nrdoc = valoredatrovare then

call rinominafile(partita)

else

if jnrdoc = valoredatrovare then

call rinominafile(partita)

end if

end if

end if

'

end sub

'

'================

'

Sub rinominafile(nuovonome)

dim FSO, strFile, strRename

Set FSO = CreateObject("Scripting.FileSystemObject")

strFile = cartellainlavoro & nomefileinricerca

strRename = cartellainlavoro & nuovonome & "_" & nomefornitore & ".PDF"

If FSO.FileExists(strFile) Then

If FSO.FileExists(strRename) = False THEN

FSO.MoveFile strFile, strRename

' msgbox strFile & vbcrlf & strRename

slog = "proposta rinomina: " & strFile & " : " & strRename

call ScriviFileJollyAppend("C:\sistema-protocollo\log-proposta-rinomina.txt", slog)

else

slog = "fattura doppia: " & strFile & ":" & strRename

call ScriviFileJollyAppend("C:\sistema-protocollo\log-fatture-doppie.txt", slog)

end if

End If

Set FSO = Nothing

End Sub

'

' ========

'

Function TrovaValore(strVal, comecercare) 'As String

Dim sParts, sPart, rPart 'As Object

Set rPart = CreateObject("VBScript.RegExp")

rPart.Global = True

rPart.IgnoreCase = True

rPart.pattern = comecercare '

'get the results

Set sParts = rPart.Execute(strVal)

'get the first match

For Each sPart In sParts

TrovaValore = sParts(0)

Exit For

Next 'sPart

Set sParts = Nothing

End Function

'

' ========

'

function RimouvoCodificati(strVal, comecercare) 'As String

Dim sParts, sPart, rPart 'As Object

Set rPart = CreateObject("VBScript.RegExp")

rPart.Global = True

rPart.IgnoreCase = True

rPart.pattern = comecercare '

'get the results

Set sParts = rPart.Execute(strVal)

'get the first match

For Each sPart In sParts

risultato = spart

if trim(strval) = trim(spart) then

filenellacartella.Remove(strVal)

end if

Next 'sPart

Set sParts = Nothing

End function

'

' ========================

'

Sub ElencaDizionario(pdizionario)

Dim dizionarioj, chiavi, chiave, quantek

Set dizionarioj = CreateObject("Scripting.Dictionary")

dizionarioj.CompareMode = vbTextCompare

set dizionarioj = pdizionario

chiavi = dizionarioj.Keys

quantek = dizionarioj.count

'

For Each chiave In chiavi

call ScriviFileJollyAppend("C:\sistema-protocollo\a-d3.txt", chiave)

Next

'

End Sub

'

' ====================

'

Function ShowFileListTipo(folderspec, tipofile)

'

Dim fso, f, f1, fc, s, snome, suffisso, tchiavi, tquantek

'

Dim Tfilenellacartella

Set Tfilenellacartella = CreateObject("Scripting.Dictionary")

Tfilenellacartella.CompareMode = vbTextCompare

'

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(folderspec)

Set fc = f.Files

For Each f1 In fc

snome = f1.Name

'

if len(ucase(snome)) > len(ucase(tipofile)) then

suffisso = right(snome, len(tipofile))

if ucase(suffisso) = ucase(tipofile) then

if ucase(trim(f1.Name)) = trim(ucase("fatturetutte.pdf")) then

else

If Tfilenellacartella.Exists(f1.Name) = False Then

Tfilenellacartella.Add f1.Name, True

End If

end if

end if

end if

Next

'

set ShowFileListTipo = Tfilenellacartella

tchiavi = Tfilenellacartella.Keys

tquantek = Tfilenellacartella.count

'

End Function

'

' ======================

'

function leggiparametri(sFilePathAndName)

dim sFileContents, oFS, oTextStream

Set oFS = CreateObject("Scripting.FileSystemObject")

If oFS.FileExists(sFilePathAndName) = True Then

Set oTextStream = oFS.OpenTextFile(sFilePathAndName,1)

sFileContents = trim(oTextStream.ReadAll)

oTextStream.Close

Set oTextStream = nothing

else

esito = esito + 1

End if

Set oFS = nothing

leggiparametri = sFileContents

'

if len(sFileContents) = 0 then

esito = esito + 1

end if

'

end function

'

' ========================

'

Sub ScriviFileJollyAppend(pNomeArchivio, pcosascrivere)

dim fso, rifefile

Set fso=CreateObject("Scripting.FileSystemObject")

If (fso.FileExists(pNomeArchivio)) Then

'msg = filespec & " esiste."

Set rifefile = fso.OpenTextFile(pNomeArchivio, 8)

Else

'msg = filespec & " Non esiste."

Set rifefile = fso.CreateTextFile(pNomeArchivio, TRUE)

End If

rifefile.WriteLine(pcosascrivere)

rifefile.Close

set rifefile = Nothing

End Sub

' ====================

' === ===

' ====================================