Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-09-2008, 23:25   #1
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
[vba] zippare cartella

Buona sera a tutti. Avrei necessità all'interno di un mio script di zippare il contenuto di una cartella. Cercando in rete ho trovato una discussione su experts-exchange.
La discussione è raggiungibile digitando su google

VBA or VBS to Zip files in a folder - Win XP , Using Access (VBA Code)

e andando sul link copia cache.
Purtroppo mi appare il messaggio che il file zip è stato creato ma invece non è presente. Ovviamente ho creato la cartella di prova contenente alcuni file e il percorso è esatto. Spero che qualcuno possa aiutarmi.
Grazie e buona notte.

Posto il codice intero

Codice:
Sub Zip_Folder_And_SubFolders()
    Dim PathWinZip As String, FileNameZip As String, FolderName As String
    Dim ShellStr As String, strDate As String, DefPath As String
 
    PathWinZip = "C:\programmi\winzip\"
    If Dir(PathWinZip & "winzip32.exe") = "" Then
        MsgBox "Winzip non è stato trovato"
        Exit Sub
    End If
 
 
    FileNameZip = "C:\Documents and Settings\utente\desktop\test.zip"
 
    FolderName = "C:\Documents and Settings\utente\desktop\miacart\"
 
    If Right(FolderName, 1) <> "\" Then
        FolderName = FolderName & "\"
    End If
 
    ShellStr = PathWinZip & "Winzip32 -min -a -r -p" _
               & " " & Chr(34) & FileNameZip & Chr(34) _
               & " " & Chr(34) & FolderName & Chr(34)
    ShellAndWait ShellStr
 
    MsgBox "Il file zip è pronto in: " & FileNameZip
End Sub


Public Sub ShellAndWait(PathName As String)
Dim TaskID As Double
TaskID = Shell(PathName, vbHide) ', vbNormalFocus)
While TaskExists(TaskID)
Wend
End Sub


Public Function TaskExists(TaskID As Double) As Boolean
On Error GoTo ErrorHandler
AppActivate (TaskID)
ErrorHandler: If Err.Number = 5 Then
TaskExists = False
Exit Function
Else
TaskExists = True
End If
End Function
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 25-09-2008, 21:26   #2
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2008, 09:23   #3
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da john_revelator Guarda i messaggi
...
ShellStr = PathWinZip & "Winzip32 -min -a -r -p" _
...
Public Sub ShellAndWait(PathName As String)
Dim TaskID As Double
TaskID = Shell(PathName, vbHide) ', vbNormalFocus)
While TaskExists(TaskID)
Wend
End Sub

Public Function TaskExists(TaskID As Double) As Boolean
On Error GoTo ErrorHandler
AppActivate (TaskID)
ErrorHandler: If Err.Number = 5 Then
TaskExists = False
Exit Function
Else
TaskExists = True
End If
End Function
Da una veloce occhiata a quel codice vedo almeno 3 cose che non mi piacciono per niente :

1. Il parametro -p dato in pasto alla strShell include tutto il percorso, e quindi tutta la struttura di eventuali cartelle di livello superiore a quella che si sta per zippare vengono incluse nello zip. Meglio evitare di metterlo.

2. Nella Public Sub ShellAndWait c'è un orrendo While / Wend senza istruzioni al suo interno. A che può servire ?

3. L'error handler in Public Function TaskExists è probabilmente la causa del fatto che poi il messaggino ti dice Ok, ma non ti ritrovi lo zip ! Semplicemente quel codice va in errore per qualche motivo ( e non mi stupisce la cosa ), e quell'error handler, scritto così, evita che il programma vada in errore, ma non esegue nulla in merito...

Se sei interessato devo avere una cosa simile modificata ( nel senso che me la ero modificata IO ) da qualche parte... E la mia funziona.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Sony brevetta un DualSense capace di acc...
Un volto per l'assistenza IA: cosa pu&og...
NVIDIA autorizza un buyback da 150 milia...
Come il T-1000 di Terminator 2: circuiti...
Cloudflare: risolto il bug di memoria ch...
Lunex spegne gli antivirus con un driver...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v