vieirasoft 1/6/2010, 15:02
Vou testar Mestre mas como não me expliquei bem inicialmente prefiro clarificar primeiro.Esses documentos residem numa pasta em C:\DocumentosAdvo. Dentro dessa Pasta seriam criados os seguintes documentos:
Procuração
Substabelecimento
PagamentoTaxaJustiça
DocumentoConcessãoApoioJudiciário
NomeaçãoOrdemAdvogados
Notificaçãoentremandatários
Todos esses documentos seriam criados a partir da ficha processo com o código que me enviou + o que eu acrescentei (em Bold):
Dim msg, Style, Title
msg = "A Pasta já existe"
Style = "vbCritical"
Title = "Erro"
Dim fso As Object
'habilite a referencia Microsoft scripting Runtime
Set fso = CreateObject("scripting.FileSystemObject")
If fso.folderexists("C:\Processos") Then
MsgBox "A pasta já existe, vai ser criada a sub pasta..." & Me.NProcesso.Value, vbExclamation, Erro
Else
MkDir "C:\Processos"
End If
If fso.folderexists("C:\Processos\" & Me.NProcesso.Value) Then
MsgBox "A subpasta" & " " & Me.NProcesso.Value & " " & "já existe, processo cancelado...", vbExclamation, Erro
Exit Sub
Else
MkDir "C:\Processos\" & Me.NProcesso.Value ' se não existir cria a subpasta
Me.Pasta.Value = "C:\Processos" & "\" & Me.NProcesso.Value
Me.Pasta.Requery
End If
Call MsgBox("Existem documentos que devem ser copiados e modificados na Pasta" & vbCrLf & "Procuração,Pagamento Taxa Justiça,Etc.", vbExclamation, "Docs")
DoCmd.OpenForm "frmCopyMove"
O frmCopyMove é um form que utiliza o seguinte código:
Private Sub Imagem27_Click()
On Error Resume Next
'Create a browse for folder instance
With New sjmFolderDialog
'What to display to the user
.Caption = "Selecionar Pasta de destino"
'Process the dialog
.Execute
If Not .UserCancel Then
'User clicked Ok, so fill our control
'with the return value
Me.DestinationDir = .ReturnDir
End If
End With
End Sub
Private Sub Imagem26_Click()
On Error Resume Next
Const conRuns As Integer = 10
Const conPause_Secs As Single = 0.5
Dim sngStart As Single, intI As Integer
Dim UMmsg As clsUserMessage
Set UMmsg = New clsUserMessage
For intI = 1 To conRuns
UMmsg.NewUserMsg "Running part " & intI & " of " & conRuns
sngStart = Timer
Do While Timer < sngStart + conPause_Secs
DoEvents
Loop
Next intI
Set UMmsg = Nothing
Dim i As Long
'Bail out if no files selected
If Me.ListFiles.ListCount = 0 Then Exit Sub
'
'Create a file operation instance
With New sjmFileOp
If Len(Me.txtCaption & "") > 0 Then
'If we have a caption, set the property
.Caption = Me.txtCaption
End If
'Tell the class which operation to perform
.Action = IIf(Me.grpAction = 1, "COPY", "MOVE")
'
'Set various flags
.NoConfirm = Me.chkNoConfirm
.Silent = Me.chkNoDialog
.RenameOnCollision = Me.chkRename
'
'This will open the dialog over our form
'(form must be popup for this to work)
.hwnd = Me.hwnd
'
'Fill the "from list" using the listbox selections
For i = 0 To Me.ListFiles.ListCount - 1
.FromList.Add Me.ListFiles.ItemData(i)
Next
'Fill the "to list" using the DestinationDir textbox
.ToList.Add Me.DestinationDir
'Process the operation
.Execute
'ReturnCode is zero for success
If .ReturnCode <> 0 Then
End If
End With
Call MsgBox("Copiado com sucesso", vbInformation, "Copia")
End Sub
Private Sub Imagem25_Click()
On Error Resume Next
Dim File As Variant
'
'Create a file open instance
With New sjmFileDialog
'This will open the dialog over our form
'(form must be popup for this to work)
.hwnd = Me.hwnd
'
'What to display to the user (in title bar)
.Caption = "Selecione ficheiros a executar"
'Initial directory
.InitDir = "c:\DocumentosAdvo"
'Add some file filters to the "filter list"
.AddFilter "Text Files", "*.Doc"
.AddFilter "All Files", "*.*"
'
'Set some flags
.FileMustExist = True
.PathMustExist = True
.MultiSelect = True
.NoChangeDir = True
'
'Tell the class which operation to perform
.Action = "Abrir"
'Process the dialog
.Execute
If Not .UserCancel Then
'User clicked Ok, so
'clear the listbox
Me.ListFiles.RowSource = ""
'and fill it with return value(s)
For Each File In .FileList
Me.ListFiles.RowSource = _
Me.ListFiles.RowSource & .ReturnDir & File & ";"
Next
End If
End With
btnBrowseDir.Enabled = True
End Sub
Private Sub Rótulo0_Click()
DoCmd.Close
End Sub
Ou seja, esse form copia o(s) documento(s) seleccionado(s) para a Pasta com o nº do Processo activo na ficha processo. A única coisa que o utilizador faz é carregar no botão executar pois a papa está toda feita, uma vez que já coloquei o caminho no início e o Folder Dialog abre já com a Pasta DocumentosAdvo aberta. Como sincronizei o frmcopymove com o nº do processo activo o caminho de cópia já está inserido por defeito, então é seleccionar e copiar.
Peço desculpa por este discurso, mas penso que assim será mais fácil de entender. Vou então aguardar que o mestre diga que eu posso exprimentar....Obrigado