' p
Option explicit
'
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim CurrentDirectory
CurrentDirectory = fso.GetAbsolutePathName(".")
'
dim cartelladascansionare, dbcartellaprocedura, esito
dbcartellaprocedura = CurrentDirectory & "\" ' "C:\da-pub\"
'cartelladascansionare = leggiparametri(dbcartellaprocedura & "cartella-da-scansionare.txt")
cartelladascansionare = dbcartellaprocedura
'
dim fileescluso
fileescluso = "ceram.jpg"
'
dim dblog, slog
dblog = dbcartellaprocedura & "note.txt"
'
slog = "tag: " & vbcrlf
call SovraScriviFile(dblog, slog)
'
Dim dizionario, chiave
Set dizionario = CreateObject("Scripting.Dictionary")
dizionario.CompareMode = vbTextCompare
'
call PrgElencaCartelletipo(cartelladascansionare, "jpg")
'
' srivi tag
'
dim a, i
a=dizionario.Keys
for i = 0 To dizionario.Count -1
slog = a(i)
if isnumeric(slog) = false then
call ScriviFileJollyAppend(dblog, slog)
end if
next
'
' ========================
'
Sub PrgElencaCartelletipo(pFolder, ptipofile)
'
Dim fso, cartelle, percorsocartella, nomecartella, nomefile
dim SubFolder, File, tpath
Set fso = CreateObject("Scripting.FileSystemObject")
set Cartelle = fso.GetFolder(pFolder)
'
For Each File In fso.GetFolder(pFolder).Files
If UCASE(fso.GetExtensionName(File.Name)) = UCASE(ptipofile) Then
nomefile = File.Name
if ucase(nomefile) = ucase(fileescluso) then
else
tpath = percorsocartella & nomefile
' slog = "File.Name: " & File.Name & vbcrlf & tpath
nomefile = replace(nomefile, "-", " ")
nomefile = replace(nomefile, ".jpg", ".")
slog = "- " & nomefile & vbcrlf
call ScriviFileJollyAppend(dblog, slog)
' tag
call RicercaRisultato(nomefile, "\w+")
'
end if
End If
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
chiave = trim(spart)
If dizionario.Exists(chiave) = False Then
dizionario.Add chiave, chiave
else
End If
Next 'sPart
Set sParts = Nothing
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
'
' === 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
' ====================
' === fine ===
' ===================================
venerdì 22 luglio 2016
giovedì 21 luglio 2016
suddividi listino metel per marchio prodotto - vbs
' p
' suddivide un listino Metel.
' divide un file listino Metel in mase al marchio prodotto.
' crea, nella stessa cartella di origine del file, archivi con il nome:
' <sigla produttore> - <sigla marchio> - da - <nome file di origine>
'
option explicit
'
dim objArgs, Filename
'
Set objArgs = WScript.Arguments 'Vedo se ci sono degli argomenti passati allo script
if objargs.count=0 then 'altrimenti mostro come si usa il programma
msgbox "Trascinare un file sul programma per visualizzarlo", vbinformation+vbokonly, Title
wscript.quit
end if
'
Filename=wscript.arguments(0)
'
dim objFSO, objFile, nomefile
'
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Filename)
'
dim cartellalavori
cartellalavori = objFSO.GetParentFolderName(objFile) & "\"
nomefile = objFSO.GetFileName(Filename)
'
dim dblog, slog
'
dim sigliaproduttore, siglamarchio
'
' dizionario dei file creati per evitare di accodare dati a file già esistenti
Dim dizionariofilecreati, chiave
Set dizionariofilecreati = CreateObject("Scripting.Dictionary")
dizionariofilecreati.CompareMode = vbTextCompare
'
Dim fso, Text, txtStream, testata
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
If fso.FileExists(Filename) = true Then
Set txtStream = fso.OpenTextFile(Filename) ' Apre file di testo.
testata = txtStream.ReadLine 'legge la prima riga che contiene la testata
sigliaproduttore = mid(testata, 21, 3)
Do While Not (txtStream.atEndOfStream)
Text = txtStream.ReadLine 'legge una riga
'
siglamarchio = mid(text, 1, 3)
'
dblog = cartellalavori & sigliaproduttore & "-" & siglamarchio & "-da-" & nomefile
'
' verifica iniziale se un file con il nome analogo esiste, se esiste lo cancella
chiave = dblog
If dizionariofilecreati.Exists(chiave) = False Then
dizionariofilecreati.Add chiave, chiave
call SovraScriviFile(dblog, testata)
else
End If
'
slog = Text
call ScriviFileJollyAppend(dblog, slog)
'
Loop
End If
'
' === 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)
rifefile.WriteLine(testata)
End If
rifefile.WriteLine(pcosascrivere)
rifefile.Close
set rifefile = Nothing
End Sub
'
' =========
'
' suddivide un listino Metel.
' divide un file listino Metel in mase al marchio prodotto.
' crea, nella stessa cartella di origine del file, archivi con il nome:
' <sigla produttore> - <sigla marchio> - da - <nome file di origine>
'
option explicit
'
dim objArgs, Filename
'
Set objArgs = WScript.Arguments 'Vedo se ci sono degli argomenti passati allo script
if objargs.count=0 then 'altrimenti mostro come si usa il programma
msgbox "Trascinare un file sul programma per visualizzarlo", vbinformation+vbokonly, Title
wscript.quit
end if
'
Filename=wscript.arguments(0)
'
dim objFSO, objFile, nomefile
'
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Filename)
'
dim cartellalavori
cartellalavori = objFSO.GetParentFolderName(objFile) & "\"
nomefile = objFSO.GetFileName(Filename)
'
dim dblog, slog
'
dim sigliaproduttore, siglamarchio
'
' dizionario dei file creati per evitare di accodare dati a file già esistenti
Dim dizionariofilecreati, chiave
Set dizionariofilecreati = CreateObject("Scripting.Dictionary")
dizionariofilecreati.CompareMode = vbTextCompare
'
Dim fso, Text, txtStream, testata
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
If fso.FileExists(Filename) = true Then
Set txtStream = fso.OpenTextFile(Filename) ' Apre file di testo.
testata = txtStream.ReadLine 'legge la prima riga che contiene la testata
sigliaproduttore = mid(testata, 21, 3)
Do While Not (txtStream.atEndOfStream)
Text = txtStream.ReadLine 'legge una riga
'
siglamarchio = mid(text, 1, 3)
'
dblog = cartellalavori & sigliaproduttore & "-" & siglamarchio & "-da-" & nomefile
'
' verifica iniziale se un file con il nome analogo esiste, se esiste lo cancella
chiave = dblog
If dizionariofilecreati.Exists(chiave) = False Then
dizionariofilecreati.Add chiave, chiave
call SovraScriviFile(dblog, testata)
else
End If
'
slog = Text
call ScriviFileJollyAppend(dblog, slog)
'
Loop
End If
'
' === 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)
rifefile.WriteLine(testata)
End If
rifefile.WriteLine(pcosascrivere)
rifefile.Close
set rifefile = Nothing
End Sub
'
' =========
'
mercoledì 20 luglio 2016
sposta per nome file - vbs
'p
Option explicit
'
dim tipofile, suffisso
tipofile = "jpg"
suffisso = "." & tipofile
'
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim CurrentDirectory
CurrentDirectory = fso.GetAbsolutePathName(".")
'
dim cartelladascansionare, dbcartellaprocedura, esito
dbcartellaprocedura = CurrentDirectory & "\" ' "C:\da-pub\"
cartelladascansionare = dbcartellaprocedura
'
dim dblog, slog, parolachiave
dblog = dbcartellaprocedura & "log-lavori.txt"
'
' parola presente nel nome file
parolachiave = inputbox("parola cercata", "parola cercata", " ")
'
dim cartelladestinazione
cartelladestinazione = dbcartellaprocedura & parolachiave & "\"
msgbox ReportFolderStatus(cartelladestinazione)
'
call PrgElencaCartelletipo(cartelladascansionare, tipofile)
'
Function ReportFolderStatus(cartelladestinazione)
Dim fso, msg, f
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists(cartelladestinazione)) Then
msg = cartelladestinazione & " exists."
Else
msg = cartelladestinazione & " doesn't exist."
Set f = fso.CreateFolder(cartelladestinazione)
End If
ReportFolderStatus = msg
End Function
'
' ========================
'
Sub PrgElencaCartelletipo(pFolder, ptipofile)
'
Dim fso, cartelle, percorsocartella, nomecartella, nomefile
dim SubFolder, File, tpath, presente
Set fso = CreateObject("Scripting.FileSystemObject")
set Cartelle = fso.GetFolder(pFolder)
'
For Each File In fso.GetFolder(pFolder).Files
If UCASE(fso.GetExtensionName(File.Name)) = UCASE(ptipofile) Then
nomefile = File.Name
tpath = percorsocartella & nomefile
presente = instr(ucase(nomefile), ucase(parolachiave))
if presente > 0 then
' slog = "File.Name: " & File.Name & vbcrlf & tpath
nomefile = replace(nomefile, "-", " ")
nomefile = replace(nomefile, suffisso , ".")
slog = "- " & nomefile & vbcrlf
call ScriviFileJollyAppend(dblog, slog)
'
fso.MoveFile tpath, cartelladestinazione
end if
'
End If
Next
'
'
End Sub
'
' ======================
'
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
'
' === 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
' ====================
' ===
' ====================================
Option explicit
'
dim tipofile, suffisso
tipofile = "jpg"
suffisso = "." & tipofile
'
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim CurrentDirectory
CurrentDirectory = fso.GetAbsolutePathName(".")
'
dim cartelladascansionare, dbcartellaprocedura, esito
dbcartellaprocedura = CurrentDirectory & "\" ' "C:\da-pub\"
cartelladascansionare = dbcartellaprocedura
'
dim dblog, slog, parolachiave
dblog = dbcartellaprocedura & "log-lavori.txt"
'
' parola presente nel nome file
parolachiave = inputbox("parola cercata", "parola cercata", " ")
'
dim cartelladestinazione
cartelladestinazione = dbcartellaprocedura & parolachiave & "\"
msgbox ReportFolderStatus(cartelladestinazione)
'
call PrgElencaCartelletipo(cartelladascansionare, tipofile)
'
Function ReportFolderStatus(cartelladestinazione)
Dim fso, msg, f
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists(cartelladestinazione)) Then
msg = cartelladestinazione & " exists."
Else
msg = cartelladestinazione & " doesn't exist."
Set f = fso.CreateFolder(cartelladestinazione)
End If
ReportFolderStatus = msg
End Function
'
' ========================
'
Sub PrgElencaCartelletipo(pFolder, ptipofile)
'
Dim fso, cartelle, percorsocartella, nomecartella, nomefile
dim SubFolder, File, tpath, presente
Set fso = CreateObject("Scripting.FileSystemObject")
set Cartelle = fso.GetFolder(pFolder)
'
For Each File In fso.GetFolder(pFolder).Files
If UCASE(fso.GetExtensionName(File.Name)) = UCASE(ptipofile) Then
nomefile = File.Name
tpath = percorsocartella & nomefile
presente = instr(ucase(nomefile), ucase(parolachiave))
if presente > 0 then
' slog = "File.Name: " & File.Name & vbcrlf & tpath
nomefile = replace(nomefile, "-", " ")
nomefile = replace(nomefile, suffisso , ".")
slog = "- " & nomefile & vbcrlf
call ScriviFileJollyAppend(dblog, slog)
'
fso.MoveFile tpath, cartelladestinazione
end if
'
End If
Next
'
'
End Sub
'
' ======================
'
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
'
' === 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ì 19 luglio 2016
Importa Metel cross reference - vbs
'
' carica il File Metel Cross Reference
'
Set OXl = createobject ("Excel.Application")
'
Set objArgs = WScript.Arguments 'Vedo se ci sono degli argomenti passati allo script
if objargs.count=0 then 'altrimenti mostro come si usa il programma
msgbox "Trascinare un file sul programma per visualizzarlo", vbinformation+vbokonly, Title
wscript.quit
end if
'
Filename=wscript.arguments(0)
'
dim archiviomacro
archiviomacro = "C:\macro-importazione-cross-reference.txt"
'
oXL.Visible = true
'oXL.workbooks.OpenText Filename,,,1,,,False,,True,,False,,,,"."
'''oXl.workbooks.add
set fichxl=oXL.workbooks.add
'
dim vir, ecomm
vir = chr(34)
ecomm = chr(38)
'
Set mdle = fichxl.VBProject.VBComponents.Add(1)
'
Dim fso, Text, testo, txtStream, conta
dim dacambiare
dacambiare = "#nomeFileDaImportare#"
conta = 3
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
If fso.FileExists(archiviomacro) = true Then
Set txtStream = fso.OpenTextFile(archiviomacro) ' Apre file di testo.
Do While Not (txtStream.atEndOfStream)
Text = txtStream.ReadLine 'legge una riga
testo = replace(Text,dacambiare,Filename)
mdle.CodeModule.InsertLines conta, testo
conta = conta + 1
Loop
End If
'
oXL.Run "ImportaCrossReference"
'
wscript.quit
'*** End ***
'
'
'
' testo archiviomacro = "C:\macro-importazione-cross-reference.txt"
'
'
' macro importazione Metel cross reference.
'
Sub ImportaCrossReference()
'
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;#nomeFileDaImportare#", Destination:=Range("A1"))
.Name = "DATIIMPORTATI"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileFixedColumnWidths = Array(3, 16, 3, 16, 1, 30, 30)
.Refresh BackgroundQuery:=False
End With
'
' intestazione
Range("A1").Value = "Sigla Marchio"
Range("B1").Value = "Codice Prodotto"
Range("C1").Value = "Sigla Marchio"
Range("D1").Value = "Codice Prodotto"
Range("E1").Value = "Funzione"
Range("F1").Value = "Note"
Range("G1").Value = "Filler"
'
Range("h1").Value = "descrizione_Funzione"
Range("h2").Value = "0=ABBINAMENTO - 1=ALTERNATIVA"
'
Sheets(ActiveSheet.Name).Select
Sheets(ActiveSheet.Name).Name = "Cross_Reference"
'
End Sub
'
'
'
' carica il File Metel Cross Reference
'
Set OXl = createobject ("Excel.Application")
'
Set objArgs = WScript.Arguments 'Vedo se ci sono degli argomenti passati allo script
if objargs.count=0 then 'altrimenti mostro come si usa il programma
msgbox "Trascinare un file sul programma per visualizzarlo", vbinformation+vbokonly, Title
wscript.quit
end if
'
Filename=wscript.arguments(0)
'
dim archiviomacro
archiviomacro = "C:\macro-importazione-cross-reference.txt"
'
oXL.Visible = true
'oXL.workbooks.OpenText Filename,,,1,,,False,,True,,False,,,,"."
'''oXl.workbooks.add
set fichxl=oXL.workbooks.add
'
dim vir, ecomm
vir = chr(34)
ecomm = chr(38)
'
Set mdle = fichxl.VBProject.VBComponents.Add(1)
'
Dim fso, Text, testo, txtStream, conta
dim dacambiare
dacambiare = "#nomeFileDaImportare#"
conta = 3
'
Set fso = CreateObject("Scripting.FileSystemObject")
'
If fso.FileExists(archiviomacro) = true Then
Set txtStream = fso.OpenTextFile(archiviomacro) ' Apre file di testo.
Do While Not (txtStream.atEndOfStream)
Text = txtStream.ReadLine 'legge una riga
testo = replace(Text,dacambiare,Filename)
mdle.CodeModule.InsertLines conta, testo
conta = conta + 1
Loop
End If
'
oXL.Run "ImportaCrossReference"
'
wscript.quit
'*** End ***
'
'
'
' testo archiviomacro = "C:\macro-importazione-cross-reference.txt"
'
'
' macro importazione Metel cross reference.
'
Sub ImportaCrossReference()
'
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;#nomeFileDaImportare#", Destination:=Range("A1"))
.Name = "DATIIMPORTATI"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileFixedColumnWidths = Array(3, 16, 3, 16, 1, 30, 30)
.Refresh BackgroundQuery:=False
End With
'
' intestazione
Range("A1").Value = "Sigla Marchio"
Range("B1").Value = "Codice Prodotto"
Range("C1").Value = "Sigla Marchio"
Range("D1").Value = "Codice Prodotto"
Range("E1").Value = "Funzione"
Range("F1").Value = "Note"
Range("G1").Value = "Filler"
'
Range("h1").Value = "descrizione_Funzione"
Range("h2").Value = "0=ABBINAMENTO - 1=ALTERNATIVA"
'
Sheets(ActiveSheet.Name).Select
Sheets(ActiveSheet.Name).Name = "Cross_Reference"
'
End Sub
'
'
'
lunedì 18 luglio 2016
salva allegati posta file pdf - vbs
'
option explicit
'
' salva gli allegati in formato pdf nella casella di posta in arrivo.
'
dim cartellaprocedura, dbdata, dboggettomessaggi, slog
cartellaprocedura = "C:\Pubblica\allegati-posta\"
dbdata = cartellaprocedura & "db-data-ultima-scansione.txt" ' parametro data ultima scansione eseguita
dboggettomessaggi = cartellaprocedura & "log-oggettomessaggi.txt" ' memorizza nome allegato e oggetto messagio
'
dim LocalPath, CartellaOutlook, AttachName
LocalPath = cartellaprocedura & "allegati\"
CartellaOutlook = "Posta in arrivo"
'
dim tipofile, suffisso, flagdata, primadata
tipofile = "pdf"
flagdata = 0
'
dim datapartenza, oggettomessaggio, differenza
datapartenza = leggiparametritogli(dbdata)
'
dim DataRicezioneEmail, NomeAllegato, sfile
'Dichiarazione costanti
Dim Outlook, olkInbox, olkItem, olkAttach
Const olFolderInbox = 6
'
'riferimenti casella
Set Outlook = CreateObject("Outlook.Application")
'Set olkInbox = OutLook.Session.GetDefaultFolder(olFolderInbox).Folders(CartellaOutlook)
Set olkInbox = OutLook.Session.GetDefaultFolder(olFolderInbox)
'Esegue anche se outlook è chiuso
Outlook.Session.Logon
'
'--- ciclo su tuute le email ----------------------------
'
For Each olkItem In olkInbox.Items
'DataRicezioneEmail = olkItem.ReceivedTime
DataRicezioneEmail = olkItem.CreationTime
oggettomessaggio = ucase(olkItem.Subject)
'
if flagdata = 0 then
call SovraScriviFile(dbdata, DataRicezioneEmail)
flagdata = 1
end if
'
differenza = DateDiff( "n", datapartenza, DataRicezioneEmail)
if differenza > 0 then
'
If olkItem.Attachments.Count > 0 Then
For Each olkAttach In olkItem.Attachments
' Salva allegato/allegati
NomeAllegato = olkAttach.FileName
suffisso = right(NomeAllegato, 3)
if ucase(suffisso) = ucase(tipofile) then
'olkAttach.SaveAsFile LocalPath & NomeAllegato
NomeAllegato = esistefile(NomeAllegato) ' verifica se esiste file dal nome analogo
olkAttach.SaveAsFile NomeAllegato ' salva allegato
'
slog = sfile & "|" & oggettomessaggio
call ScriviFileJollyAppend(dboggettomessaggi, slog)
'
end if
Next
End If
else
exit for
end if
Next
'
'------------------------------------------------------
'
Set Outlook = nothing
Set OlkInbox = nothing
'
wscript.quit
'
' ======================
'
function esistefile(parchivio)
dim contali, archiviodaverificare
dim fs
archiviodaverificare = LocalPath & parchivio
esistefile = archiviodaverificare
sfile = parchivio
contali = 0
'
set fs=CreateObject("Scripting.FileSystemObject")
while fs.FileExists(archiviodaverificare) = true
contali = contali + 1
sfile = "esisteva-" & contali & "-" & parchivio
archiviodaverificare = LocalPath & sfile
wend
esistefile = archiviodaverificare
set fs=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
'
' ====================================
'
function leggiparametritogli(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
End if
Set oFS = nothing
sFileContents = replace(sFileContents, vbcrlf, "")
sFileContents = replace(sFileContents, vbcr, "")
sFileContents = replace(sFileContents, vblf, "")
leggiparametritogli = sFileContents
'
'
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
' ====================
' === fine ===
' ===================================
option explicit
'
' salva gli allegati in formato pdf nella casella di posta in arrivo.
'
dim cartellaprocedura, dbdata, dboggettomessaggi, slog
cartellaprocedura = "C:\Pubblica\allegati-posta\"
dbdata = cartellaprocedura & "db-data-ultima-scansione.txt" ' parametro data ultima scansione eseguita
dboggettomessaggi = cartellaprocedura & "log-oggettomessaggi.txt" ' memorizza nome allegato e oggetto messagio
'
dim LocalPath, CartellaOutlook, AttachName
LocalPath = cartellaprocedura & "allegati\"
CartellaOutlook = "Posta in arrivo"
'
dim tipofile, suffisso, flagdata, primadata
tipofile = "pdf"
flagdata = 0
'
dim datapartenza, oggettomessaggio, differenza
datapartenza = leggiparametritogli(dbdata)
'
dim DataRicezioneEmail, NomeAllegato, sfile
'Dichiarazione costanti
Dim Outlook, olkInbox, olkItem, olkAttach
Const olFolderInbox = 6
'
'riferimenti casella
Set Outlook = CreateObject("Outlook.Application")
'Set olkInbox = OutLook.Session.GetDefaultFolder(olFolderInbox).Folders(CartellaOutlook)
Set olkInbox = OutLook.Session.GetDefaultFolder(olFolderInbox)
'Esegue anche se outlook è chiuso
Outlook.Session.Logon
'
'--- ciclo su tuute le email ----------------------------
'
For Each olkItem In olkInbox.Items
'DataRicezioneEmail = olkItem.ReceivedTime
DataRicezioneEmail = olkItem.CreationTime
oggettomessaggio = ucase(olkItem.Subject)
'
if flagdata = 0 then
call SovraScriviFile(dbdata, DataRicezioneEmail)
flagdata = 1
end if
'
differenza = DateDiff( "n", datapartenza, DataRicezioneEmail)
if differenza > 0 then
'
If olkItem.Attachments.Count > 0 Then
For Each olkAttach In olkItem.Attachments
' Salva allegato/allegati
NomeAllegato = olkAttach.FileName
suffisso = right(NomeAllegato, 3)
if ucase(suffisso) = ucase(tipofile) then
'olkAttach.SaveAsFile LocalPath & NomeAllegato
NomeAllegato = esistefile(NomeAllegato) ' verifica se esiste file dal nome analogo
olkAttach.SaveAsFile NomeAllegato ' salva allegato
'
slog = sfile & "|" & oggettomessaggio
call ScriviFileJollyAppend(dboggettomessaggi, slog)
'
end if
Next
End If
else
exit for
end if
Next
'
'------------------------------------------------------
'
Set Outlook = nothing
Set OlkInbox = nothing
'
wscript.quit
'
' ======================
'
function esistefile(parchivio)
dim contali, archiviodaverificare
dim fs
archiviodaverificare = LocalPath & parchivio
esistefile = archiviodaverificare
sfile = parchivio
contali = 0
'
set fs=CreateObject("Scripting.FileSystemObject")
while fs.FileExists(archiviodaverificare) = true
contali = contali + 1
sfile = "esisteva-" & contali & "-" & parchivio
archiviodaverificare = LocalPath & sfile
wend
esistefile = archiviodaverificare
set fs=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
'
' ====================================
'
function leggiparametritogli(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
End if
Set oFS = nothing
sFileContents = replace(sFileContents, vbcrlf, "")
sFileContents = replace(sFileContents, vbcr, "")
sFileContents = replace(sFileContents, vblf, "")
leggiparametritogli = sFileContents
'
'
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
' ====================
' === fine ===
' ===================================
Iscriviti a:
Post (Atom)