No nosso dia-a-dia sempre acontece de precisarmos de uma funcionalidade útil e na maioria das vezes não gostaríamos de perder muito tempo para desenvolvê-las ou aprender como funcionam.
Para facilitar a sua vida, assim como fizeram comigo anteriormente (pois não tem nada que não tenhamos recebido antes de alguém), coloco abaixo alguns exemplos que espero sejam úteis para você.
Deletando arquivos facilmente, quando estes não estiverem em uso. Caracteres coringas (*) podem ser usados em substituição ao nome do arquivo (Mas cuidado!).
Sub DelFile()
' Author: André Bernardes
' Date: 13.10.2008 – 16:10
' Contact: bernardess@gmail.com
Dim MyFile As String 'Esta Linha de código é opcional
On Error Resume Next 'Caso ocorram erros, estes não serão percebidos por usuários.
Let MyFile = "c:\folder\filename.xls"
Kill MyFile
End Sub
(Des)Protegendo a pasta (worksheet) corrente com uma senha de proteção.
Sub ProtegSheet()
' Author: André Bernardes
' Date: 13.10.2008 – 16:10
' Contact: bernardess@gmail.com
Dim Psswrd ' Esta linha de código é opcional.
Let Psswrd = "bernardes"
ActiveSheet.Protect Psswrd, True, True, True
End Sub
Sub UnProtegSheet()
' Author: André Bernardes
' Date: 13.10.2008 – 16:10
' Contact: bernardess@gmail.com Let Psswrd = "bernardes"
ActiveSheet.Unprotect Psswrd
End Sub
Protegendo todas as pastas (worksheets) de uma mesma planilha.
Sub ProtegAll()
' Author: André Bernardes
' Date: 11.10.2008 – 08:05
' Contact: bernardess@gmail.com Dim PlansCount
' Esta linha de código é opcional. Dim j
' Esta linha de código é opcional.
Let PlansCount = Application.Sheets.Count
' Retorna quantas pastas (worksheets) contém nesta planilha.
Sheets(1).Select
' Aqui selecionamos a primeira pasta (worksheet).
For j = 1 To PlansCount ActiveSheet.Protect
If j = PlansCount Then End End If
ActiveSheet.Next.Select Next j
End Sub
Prevenindo o usuário quanto a área da pasta (worksheets) que não pode ser alterada.
Este exemplo de código previnirá o usuário sobre selecionar células num range (área) específico na pasta (worksheet). Este procedimento pode ser escrito na própria pasta (worksheet) ou num módulo.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
' Author: André Bernardes
' Date: 10.10.2008 – 17:55
' Contact: bernardess@gmail.com
If Not Application.Intersect(Target, Range("A1:A100"))
Is Nothing Then
Cells(ActiveCell.Row, 2).Select
MsgBox "Descupe, mas não pode selecionar células na faixa: A1:A100!"
End If
End Sub
Como obter o local de atividade da aplicação corrente:
MsgBox "Local de Atividade e nome da pasta: " & CurDir
Como mudar o local de atividade da aplicação:
ChDrive "D" ' changes to the F-station
Como mudar a pasta de atividade atual da aplicação:
ChDir "D:\Meus Documentos\Privado"
Como determinar se um arquivo existe na pasta:
If Dir("D:\Meus Documentos\MyPlan.xls") <> "" Then
' Quando o arquivo não existe retorna "" (uma string vazia).
Se não especificar o local, o Excel usa o local atual. Se não especificar as pasta, o Excel usa a pasta onde a aplicação está. Como podemos criar uma nova pasta?
MkDir "NovaPastaParticular" ' Cria uma nova pasta no local que a planilha atual está.
MkDir "D:\Meus Documentos\NovaPastaParticular" ' Cria uma nova pasta no local indicado.
Como apagar uma pasta (A pastas precisa estar vazia):
RmDir "NovaPastaParticular" ' Deleta a subpasta no local onde a planilha atual está.
RmDir "D:\Meus Documentos\NovaPastaParticular" ' Deleta a subpasta no local indicado.
Como copiar um arquivo (o mesmo precisa estar fechado):
FileCopy "Apontamentos.xls", "BAK-Apontamentos.xls" ' Copia-o na pasta local onde a planilha corrente está.
FileCopy "Apontamentos.xls", "X:\BAK-Apontamentos.xls" ' Copia o arquivo na pasta indicada.
Como mover um arquivo (o mesmo precisa estar fechado):
Let Old = "C:\Old\Balanço.xls" ' Localização original do arquivo.
Let New = "C:\New\Balanço.xls" ' Nova localização do arquivo.
Name Old As New ' Move o arquivo.
Tags: VBA, excel, worksheet, sheet, functions, UDF