Encontrei essa função na internet, para renomear arquivos com VBA... testei no meu Excel e funcionou tranquilo, mas preciso fazer umas alterações.
Preciso criar várias cópia de um arquivo em um pendrive...
Por exemplo
o arquivo c:\temp\logo.jpg
copiar 3 vezes para o pendrive, com os nomes
logo1.jpg
logo2.jpg
logo3.jpg
fiz um for, executando a cada laço a função VbCopyFolder, e até funcionou, o problema é que para cada laço ele abre uma barra de progresso da cópia...
quero que para todos os arquivos sejam abertas apenas uma barra de progresso da cópia... só sendo fechada quando todos os arquivos forem copiados
Public Declare Function SHFileOperation Lib "shell32.dll" _
Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Const FO_COPY = &H2
Public Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End Type
Public Sub VBCopyFolder(ByRef strSource As String, ByRef strTarget As String)
Dim op As SHFILEOPSTRUCT
With op
.wFunc = FO_COPY
.pTo = strTarget
.pFrom = strSource
.fFlags = FOF_SIMPLEPROGRESS
End With
SHFileOperation op
End Sub
Pergunta
degui
Encontrei essa função na internet, para renomear arquivos com VBA... testei no meu Excel e funcionou tranquilo, mas preciso fazer umas alterações.
Preciso criar várias cópia de um arquivo em um pendrive...
Por exemplo
o arquivo c:\temp\logo.jpg
copiar 3 vezes para o pendrive, com os nomes
logo1.jpg
logo2.jpg
logo3.jpg
fiz um for, executando a cada laço a função VbCopyFolder, e até funcionou, o problema é que para cada laço ele abre uma barra de progresso da cópia...
quero que para todos os arquivos sejam abertas apenas uma barra de progresso da cópia... só sendo fechada quando todos os arquivos forem copiados
Public Declare Function SHFileOperation Lib "shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Public Const FO_COPY = &H2 Public Type SHFILEOPSTRUCT hWnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As Long End Type Public Sub VBCopyFolder(ByRef strSource As String, ByRef strTarget As String) Dim op As SHFILEOPSTRUCT With op .wFunc = FO_COPY .pTo = strTarget .pFrom = strSource .fFlags = FOF_SIMPLEPROGRESS End With SHFileOperation op End SubLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.