Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Acrescentando registro em MS Access.

Para acrescentar um registro a uma base de dados MS Access, precisa assegurar-se de que o seu MS Excel está configurado com a referência a biblioteca DAO:
Microsoft ActiveX Data Objects 6.0 Library
c:\Program Files\Common Files\System\ado\msado15.dll

Microsoft DAO 3.6 Object Library
c:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll
 
Em seguida execute uma inserção do usuário, com horário e demais dados relevantes (você mesmo deve definir o que acha ser mais apropriado):
Function InsertUserInapplication(nUser As String)
' Author:                          Date:                       Contact:                           URL:
' André Bernardes             22/03/2010 11:56     bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
' Insere o nome do usuário, indicando que este está plugado a aplicação e ativo nela.

    Dim nSQL As String

    ' Sample:
    'INSERT INTO tbl_Connected ( ID, [TimeStamp] )
    'SELECT '01101304I' AS IDentification, #3/22/2010 14:32:0# AS nTime
    'FROM tbl_Sys_Add;

    Let nSQL = "INSERT INTO tbl_Connected (ID, [TimeStamp]) " & _
                     "SELECT '" & nUser & "' AS IDentification, " & _
                     "#" & nowUserTime & "# AS nTime " & _
                     "FROM tbl_Sys_Add"

    Call StatusUser_AccessData(pth_Base, dbs_Base, nSQL)
End Function

Agora poderá efetuar consultas antes de abrir a planilha para saber se alguém está utilizando sua aplicação.

Quando o usuário terminar de utilizar a planilha, deve deletar o usuário da tabela, e/ou apenas desabilitá-lo em um campo apropriado:
Function DeleteUserInapplication(nUser As String)
' Author:                          Date:                        Contact:                          URL:
' André Bernardes             22/03/2010 14:06     bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
' Deleta o nome do usuário ativo, que está plugado na aplicação.

    Dim nSQL As String

    Let nSQL = "UPDATE tbl_Connected " & _
                     "SET tbl_Connected.TimesOut = #" & Now() & "#, " & _
                     "tbl_Connected.Online = 0 " & _
                     "WHERE (((tbl_Connected.ID)= '" & nUser & "' ))"

    Call StatusUser_AccessData(pth_Base, dbs_Base, nSQL)
End Function

 
Acessando a base de dados (esta configurado para a versão do Office 2007)

Sub StatusUser_AccessData (nPath As String, nDataBaseName As String, nSQL As String)
    ' Author:                           Date:                     Contact:                           URL:
    ' André Bernardes             22/03/2010 12:03   
bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Inserindo o usuário ativo na aplicação neste momento.

    Dim stDB As String
    Dim cnt As New ADODB.Connection

    Let stDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & nPath & nDataBaseName

    cnt.Open stDB
    cnt.Execute nSQL

    'Set stDB = Nothing
    Set cnt = Nothing
End Sub
 

InAnyPlace03.gif

Tabela ASC II - American Standard Code for Information Interchange

VBA Tips - Tabela ASCII - American Standard Code for Information Interchange, EBCDIC, UNICODE



A Tabela ASCII (American Standard Code for Information Interchange) é usada pela maior parte da indústria de computadores para a troca de informações.


Cada caracter é representado por um código de 8 bits (um byte). Abaixo mostramos a tabela ASCII de 7 bits. Há uma tabela estendida para 8 bits que inclue os caracteres acentuados.

Caracteres ASCII Padrão

Inline image 2

Caracteres ASCII Estendidos - Conjunto para PC

Inline image 3

Caracteres ASCII Estendidos - Conjunto para o Macintosh

Inline image 4



EBCDIC

Extended Binary Coded Decimal Interchange Code
Foi desenvolvido pela IBM para uso em seus computadores mainframe.


UNICODE

É um sistema de codificação de caracteres projetado para suportar o intercâmbio mundial e a  exibição de textos escritos em diversos idiomas, proporcionando um número único para cada caracter.




Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com
✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

ODBC - O que é ? What´s ODBC ?

Veja também:| Blog Office VBA | Blog Excel | Blog Access    |
 
Introdução
O ODBC (Open Database Connectivity) é um padrão aberto de API (Application Programming Interface) para acesso a Banco de Dados.

Em 1992, a Microsoft contratou a Simba para construir o primeiro driver ODBC do mundo; SIMBA.DLL, e então os acessos padronizados à bases de dados comuns nasceu.

Ao usar declarações (statements) ODBC numa aplicação ou sistema, poderá acessar arquivos em diferentes bases de dados. Além do software ODBC, um módulo separado ou driver é necessário para cada banco de dados acessado, geralmente este é distribuido pelos desenvolvedores do Banco de Dados (Oracle, DB2, Informix, SQL Server, My SQL, Paradox, etc).

História
A Microsoft introduziu este padrão 1992. O ODBC foi um padrão desenvolvido com o propósito de unificar o acesso às bases de dados SQL.

Seguindo o sucesso do ODBC, A Microsoft introduziu o OLE DB que era um padrão mais amplo de acesso aos dados. Este ia além dos bancos de dados SQL, estendendo-se a qualquer fonte de dados que fornecesse dados em formato tabular.

O plano da Microsoft era o de que o OLE DB suplantaria o ODBC como o padrão mais comum de acesso a dados. Mais recentemente, a Microsoft introduziu o padrão de acesso a dados ADO.

O ADO deveria ir ainda mais longe do que o OLE DB. devido ao ADO ser orientado a objeto, no entanto, mesmo com as exaustivas tentativas  da Microsoft para substituir o padrão ODBC com o que considerava "melhores" alternativas, o ODBC continua a ser o padrão de acesso a dados de fontes  SQL.

De fato, hoje o padrão ODBC é mais comum do que o OLE DB e do que o ADO porque o ODBC é mais amplamente suportado (incluindo suporte da Oracle e IBM), interpolando plataformas padrões de acesso a dados.


Visão Geral
O ODBC, de fato, tornou-se o padrão para bases de dados relacionais e não relacionais (SGBD).

A Simba trabalhou em estreita colaboração com a Microsoft para co-desenvolver o padrão ODBC no início dos anos 90. O padrão ODBC permite o máximo de interoperabilidade propiciando assim que os desenvolvedores de aplicativos escrevamr um único pedido de acesso a fontes de dados para diferentes fornecedores. ODBC é baseado no Call-Level Interface (CLI) especificações do Open Group e ISO / IEC para APIs de banco de dados e usa Structured Query Language (SQL) como sua linguagem de acesso a banco de dados.


Arquitetura ODBC
odbcjdbcst.gif


Ativando aplicação ODBC
Trata-se de qualquer aplicação compatível com ODBC, como o Microsoft Excel, o Crystal Reports, Microsoft Access, ou algo semelhante (planilha, processador de texto, acesso a dados e Retrievable Tool, etc.) O aplicativo ODBC habilitado executa o processamento, passando instruções SQL recebendo os do driver gerenciador de ODBC.

ODBC Driver Manager
O gerenciador de Drivers ODBC carrega e descarrega drivers ODBC no nome de um aplicativo.

A plataforma Windows vem com um gerenciador de driver padrão, enquanto plataformas não-Windows têm a opção de usar um open source ODBC Driver Manager como o unixODBC e iODBC ou um gestor de controladores ODBC comercial. O gerenciador de de Drivers ODBC processa chamadas de função ODBC, ou passa-as para um driver ODBC resolvendo quaisquer conflitos de versão do ODBC.



Driver ODBC
O driver ODBC processa as chamadas de função ao ODBC, submete pedidos SQL para uma fonte de dados específica e retorna resultados para a aplicação.

O driver ODBC pode também modificar uma solicitação  da aplicação para que o pedido respeita a sintaxe suportada pelo banco de dados associado. Comercial drivers ODBC, ou uma estrutura para criar facilmente um driver ODBC, estão disponíveis de fabricantes como Simba Technologies.


Fonte de Dados
A fonte de dados consiste em dados que o usuário deseja acessar e seu sistema de gerenciamento de banco de dados.

InAnyPlace03.gif

VBA Excel - Formatação de Data e Hora - Format Date and Time in MS Excel.

Quase todos os projetos e aplicações que utilizam o MS Excel envolvem Datas e Horários de alguma forma. Um projeto talvez precise determinar o número de dias entre duas datas, ou determinar em que dia da semana cai lá no futuro; uma planilha de projetos talvez necessite determinar o tempo decorrido entre o início e o final das etapas, ou determinar quantas horas são horas extras.

Antes de poder tirar partido do poder de algumas funções de Data e Hora, precisa entender como o MS Excel armazena datas e horas. Independentemente de como tenha formatado uma célula para exibir uma data ou hora, o MS Excel sempre as armazenará da mesma forma.

Como o MS Excel armazena as Datas e Horas:

O MS Excel armazena datas e horas, como um número que representa o número de dias desde 0-Jan-1900, mais uma parte fracionária de um dia de 24 horas: ddddd.tttttt. Isso é chamado de Serial Date (data de série) ou de Serial Date-Time (Série de Data-Tempo).

Datas
A porção inteira do número, ddddd, representa o número de dias desde 0-Jan-1900. Por exemplo, a data 19-Jan-2000 é armazenado como 36.544, 36.544 dias já se passaram desde 0-Jan-1900. O número 1 representa 1-Jan-1900. Entenda-se que o número 0 não representa 31-Dez-1899. Se usar a função mês com a data 0, retornará Janeiro e não Dezembro. Além disso, a função retornará ANO como 1900 e não como 1899.

Na verdade, esse número é maior do que o número real de dias. Isso ocorre porque o  MS Excel comporta-se como se a data de 29-Fev-1900 tivesse existido. O ano de 1900 não foi um ano bissexto (ano de 2000 é um ano bissexto). No  MS Excel, um dia após 28-Fev-1900 é 29-Fev-1900. Na realidade, o dia depois de 28-Fev-1900 é 01-Mar-1900. Isso não é um Bug (erro), na verdade, foi desenhado assim. O  MS Excel funciona dessa maneira porque este realmente era um erro no Lotus 123. Quando o  MS Excel foi desenvolvido e introduzido no mercado, o Lotus 123 tinha quase todo o mercado de software de planilha eletrônica. A Microsoft decidiu continuar com o bug do Lotus, a fim de torná-lo totalmente compatível. Os usuários que passaram do Lotus 123 para o  MS Excel não tiveram de fazer quaisquer ajustes e/ou alterações em seus dados. Enquanto todas as datas forem até 01-Mar-1900, esta não deve ser de nenhuma preocupação.


No MS Excel temos uma função que retorna um valor formatado...Veremos aqui algumas formas para retornar a formatação de Datas:

        Format ( expressão, [ formato, [ firstdayofweek, [firstweekofyear] ] ] )
expressão é o valor para o formato.


formato é opcional. É o formato para aplicar a expressão. Podemos definir nosso próprio formato ou usar um dos formatos nomeados que o MS Excel tem pré-definido, tais como:

General Date  
Exibe a data com base nas configurações do seu sistema.

Long Date      
Mostra a data com base no Long Date configurado no sistema

Medium Date 
Exibe a data com base no Medium Date configurado no sistema

Short Date    
Mostra a data com base no Short Date configurado no sistema

Long Time    
Exibe a data com base no Long Time configurado no sistema

Medium Time 
Mostra a data com base no Medium Time configurado no sistema

Short Time    
Exibe a data com base no Short Time configurado no sistema

firstdayofweek [primeirodiadasemana] é opcional. É um valor que especifica o primeiro dia da semana. Se este parâmetro for omitido, a função Format assume que o Domingo é o primeiro dia da semana. Este parâmetro pode ser um dos seguintes valores:

Constante      Valor     Explanação
vbUseSystem     0        Usa a configuração da API NLS.
VbSunday          1        Domingo (É o default, se o parâmetro for omitido).
vbMonday           2        Segunda-feira.
vbTuesday          3        Terça-feira.
vbWednesday     4        Quarta-feira.
vbThursday         5        Quinta-feira.
vbFriday             6        Sexta-feira.
vbSaturday         7        Sábado.

firstweekofyear [primeirasemanadoano] é opcional. É um valor que especifica a primeira semana do ano. Se este parâmetro for omitido, a função Format assume que a semana que contém 1 de janeiro é a primeira semana do ano. Este parâmetro pode ser um dos seguintes valores:

Constante      Valor     Explanação
vbUseSystem     0        Usa a configuração da API NLS.
vbFirstJan1         1        A semana que contém 1º de Janeiro.
vbFirstFourDays  2        A primeira semana que contiver 4 dias no Ano.
vbFirstFullWeek  3        A primeira semana cheia do Ano.

Aplica-se ao:
MS Office Excel 2007
MS Office Excel 2003
MS Office Excel XP
MS Office Excel 2000

Exemplo:
Format (#05/02/2007#, "Short Date")
Retornará: '05/02/2007'

Format (#05/02/2007#, "Long Date")
Retornará: 'Februry 05, 2007'

Format (#05/02/2007#, "yyyy/mm/dd")
Retornará: '2007/05/02'

Codificação VBA:
Function TitleCaption()
        ' Author:                            Date:                       Contact:                             URL:
        ' André Bernardes             23/03/2010 09:17    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
        ' Atualiza o título no FORM.
        ' Listening: GreensLeeves - Mozart

        Let Me.Caption = ":. " & Format (Now(), "Long Date") & " - " & Right (Now(), 8)
End Function


Algumas Funções com Datas e Horas:

Overtime Hours In Timesheets

Quarter, Determining From Date

Rounding Times

Thanksgiving, Calculation Of Date


Times, Adding And Subtracting


Times And Working Hours, Between Two Dates

Times, Quick Entry

Times, Rounding

Timesheets, Working With Regular And Overtime Hours


Time Zones

Week, First Monday Of

Week Numbers, Excel and ISO

Weekday, Counting Between Dates

Weekday, First And Last Of Month

Weekday, Nth Day Of Month (VBA)


Weekday, Nth Day Of Month (Formula)


Weekdays, Creating Series Of


Weeks, Difference Between Dates


Year, First Monday Of


Years, Entering Two Digit Years

Date Intervals, Formulas For

Dates, Adding And Subtracting


Dates,  Differences Between
 

Dates, Distributing Across Months Or Years


Dates, Excel Serial Format


Dates, Finding With VBA .Find Method


Dates, Quick Entry


Dates, Two Digit Years


Day Of Week, Nth Day Of Week (VBA)

Day Of Week, Nth Day Of Week In A Month (Formula) 

Day Of Week, Returning Nth Day Of Week In A Year (Formula)

Days In Month, First And Last Days In Month

DATEDIF Function


Degrees, Minutes, And Seconds


Easter, Calculation Of Date


Holidays, Calculation Of Dates

Julian Dates

Last Weekday Of Month

Leap Year, Determining

Age, Calculating

Birthdays And Age

Holidays

Julian Dates

Latitude And Longitude 

Overtime Hours And Timesheets

Time Zones In VBA

VBA Procedures For Dates And Times

Week Numbers

Worksheet Functions For Dates And Times

Adding Months And Years

The DATEDIF Function

Date Intervals

Dates And Times

Date And Time Entry

Date And Time Arithmetic

Distributing Dates Over Intervals




VBA: Função que retorna idade.

|Blog Office VBA |Blog Excel |Blog Access |

Dashboards & Scorecards


Como retornar a idade a partir da data do Nascimento?

Public Function AnosdeIdade(ByVal datBirthDate As Date) As Integer

On Error GoTo PROC_ERR

Dim intYears As Integer

Let intYears = Year (Now) - Year (datBirthDate)

If DateSerial(Year(Now), Month(datBirthDate), Day(datBirthDate)) > Now Then
Let intYears = intYears - 1 ' Subtract a year if birthday hasn't arrived this year
End If

Let AnosdeIdade = intYears

PROC_EXIT:
Exit Function

PROC_ERR:
MsgBox "Erro: Nº" & Err.Number & ". " & Err.Description, , "AnosdeIdade"

Resume PROC_EXIT
End Function
Dash-006.jpg  Dash-018.jpg  Dash-028.jpg

VBA Excel - Deletando linhas Duplicadas

Visite também: | Blog Office VBA | Blog Excel | Blog Access    |

Esta função eliminará todas as linhas duplicadas em um intervalo.

Para usá-la, selecione um intervalo de uma única coluna de células, compreendendo o intervalo de linhas a partir da qual são duplicados a ser excluído, por exemplo, C2:C99. Os valores da coluna selecionada serão comparados para determinar se uma linha tem duplicatas.

Linhas inteiras não são comparadas umas contra as outras. Apenas a coluna selecionada é utilizada para comparação.

Quando forem encontrados valores duplicados na coluna, a primeira linha continua, e todas as linhas subseqüentes são excluídas.

Public Sub DeleteDuplicateRows()
Dim R As Long
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Let Application.ScreenUpdating = False
Let Application.Calculation = xlCalculationManual

Set Rng = Application.Intersect(ActiveSheet.UsedRange, _
                    ActiveSheet.Columns(ActiveCell.Column))

Let Application.StatusBar = "Processando as linhas: " & Format(Rng.Row, "#,##0")

Let N = 0

For R = Rng.Rows.Count To 2 Step -1
If R Mod 500 = 0 Then
    Application.StatusBar = "Processando as linhas: " & Format(R, "#,##0")
End If

Let V = Rng.Cells(R, 1).Value

If V = vbNullString Then
    If Application.WorksheetFunction.CountIf(Rng.Columns(1), vbNullString) > 1 Then
        Rng.Rows(R).EntireRow.Delete

       
Let N = N + 1
    End If
Else
    If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then
        Rng.Rows(R).EntireRow.Delete

       
Let N = N + 1
    End If
End If
Next R

EndMacro:

Let Application.StatusBar = False
Let Application.ScreenUpdating = True
Let Application.Calculation = xlCalculationAutomatic

MsgBox "Linhas Duplicadas foram Deletadas: " & CStr(N)

End Sub


Source

Caso queira implementar soluções às suas planilhas ou aplicações MS Access, contacte-me: bernardess@gmail.com

InAnyPlace03.gif

VBA Excel - Como fechar as planilhas ou pastas do MS Excel com VBA

Veja também: | Blog Office VBA | Blog Excel | Blog Access    |

Existem algumas formas de fecharmos a 
aplicação MS Excel que estivermos
utilizando no momento.

Seguem alguns exemplos:

Fechará o WorkBook que estiver ativo...
ActiveWorkbook.Close savechanges:=False 'ou True

Fechará a planilha Bernardes.xls...
Workbooks("Bernardes.xls").Close savechanges:=False 'ou True

Fechará o WorkBook cujo o código estiver executando... 
ThisWorkbook.Close savechanges:=False 'ou True

Tenha cuidado com esta opção, pois esta fechará a planilha...
Application.Quit

VBA Excel - Dê uma pausa na sua aplicação.


| Blog Office VBA | Blog Excel | Blog Access    |

Caso deseje implementar algum efeito em um formulário, planilha e/ou procedimento poderá utilizar a linha abaixo:
Application.Wait ("00:00:02")

Caso deseje que a pausa seja efetuada em determinado momento ou hora poderá melhorar o código abaixo:
Application.Wait (Now() + "00:00:02")

Pequenas dicas, mas com criatividade, pode lhe render grandes soluções. Até mais!

Excel - 4 Modos de aumentar o tempo da velocidade dos cálculos nas suas planilhas.


Quando nossas planilhas criadas no MS Excel calculam (o que é muito comum), em geral, efetuando referências a células e a operações de cálculo, estas comportam-se como verdadeiros parasitas que se apropriam do desempenho principal da planilha como um todo.

Fórmulas razoável e até grandes quantidades de dados não costumam tornar as coisas devagar. Fórmulas complexas e referências repetitivas são os verdadeiros culpados.

Aqui estão algumas orientações básicas que devem ajudá-lo a evitar estrangulamentos cálculo:


- Evite fórmulas complexas de matriz. Utilize mais as linhas e colunas para armazenar valores intermédios e utilize menos os cálculos complexos.

- Reduza o número de referências em cada uma fórmula para o mínimo. Fórmulas copiadas são notórias para repetir referências e cálculos. Mova todos os necessários cálculos repetidos para uma única célula a qual fará referências.

-
Sempre utilize a função do modo mais eficiente possível: Classifique os dados antes de realizar pesquisas; minimize o número de células para as funções SOMA e SUMIF; Substitua uma matriz lenta por uma função definida pelo usuário (desenvolvida em VBA), e assim por diante.

- Se possível, evite funções voláteis. O
MS Excel recalcula estas funções em cada novo cálculo, mesmo que nada tenha mudado. As funções voláteis (RAND (), NOW (), HOJE (), e assim por diante) podem retardar as coisas.

?ui=2&view=att&th=1273db8968a96d1d&attid=0.1&disp=attd&realattid=ii_1273db8968a96d1d&zw

Utilize a excelência em ferramentas de análise!

?ui=2&view=att&th=127250ccb711690b&attid=0.1&disp=attd&realattid=ii_127250ccb711690b&zw
Utilize a excelência em ferramentas de análise!

Várias empresas estão cercadas de dados de diversas origens distintas e apesar de terem tantos dados à disposição não conseguem obter as necessárias informações para tomar as suas mais relevantes decisões. Não raro seus KPIs (Indicadores de Performance) não estão alinhados com as estratégias da empresa.

A diversidade de bases de dados nas quais as informações que deseja podem estar são muito variáveis. Mesmo que precise consolidar tais informações em Dashboards e Scorecards, precisará reuní-los de modo coerente e sucinto.

Os Balanced Scorecards oferecem aos executivos as ferramentas que necessitam para alcançar o sucesso na obtenção de suas informações. Esta importante ferramenta traduz a missão e a estratégia da sua empresa num conjunto abrangente de medidas de desempenho que serve como base para o sistema de medição e gestão estratégica. Perseguindo os objetivos financeiros, incluindo os vetores de desempenho desses objetivos.

O grande dilema é: Mesmo estando cercado por dados de todas as origens, como posso  obter INFORMAÇÕES relevantes para tomar minhas decisões?

Os conceitos e as regras de negócio precisam ser aplicados aos dados de modo a atender a empresa como um TODO e não apenas a alguns departamentos e países.

Os resultados mais comuns são INFORMAÇÕES IMPRECISAS, números que não coicidem durante as reuniões, findando pelo adiamento de decisões altamente relevantes.

Para que a Direção da empresa possa tomar decisões abalizadas, torna-se imprescindível que o conteúdo seja coeso, sintético e direcionado para atender o foco das reuniões.

O Management Information System é um Sistema de Informação Gerencial, utilizado por toda a organização, consiste na rede de canais de comunicação da organização permeando todas as estruturas executivas. É composto por todos os componentes que recolhem, manipulam e disseminam as informações. Nele estão inclusos hardware, software, pessoas, sistemas de telecomunicação, e os dados propriamente ditos.

Não é menos verdade que em muitas reuniões todos estejam munidos de INFORMAÇÕES totalmente irrelevantes. Têm acesso a dados de A a Z, completamente desprovidos de conteúdo. Não contém abrangência nem diversificação, que lhes propiciem dinamicidade na análise.


?ui=2&view=att&th=127250b2ba75d641&attid=0.1&disp=attd&realattid=ii_127250b2ba75d641&zw

VBA: Obtenha o tamanho de arquivo em Kilobytes

Leia também: | Blog Office VBA | Blog Excel | Blog Access    |

Para aqueles que acompanham com precisão o tamanho dos arquivos (talvez planilhas) que estão sendo geradas por suas aplicações de automação, segue função muito útil para identificar o tamanho destes.

Mensure exatamente o tamanho dos arquivos e talvez até mesmo direcione, ou compacte-os quando necessário.

Function
GetTheSize()
  Dim sFilePath As String

  Let sFilePath = "C:\CV\AndreLuizBernardes.doc"

  GetTheFileSize (sFilePath) & " Kb"
End Function

Public Function GetTheFileSize(sPath As String) As Long
  Dim iChannel As Integer

  Let iChannel = FreeFile

  Open
sPath For Input As iChannel

  Let GetTheFileSize = Format((LOF(iChannel) / 1024), "#.0")
End Function

FONTE: http://www.vbaexpress.com/kb/getarticle.php?kb_id=624

Lembre-se que esta solução retorna o tamanho de qualquer arquivo. Poderá utilizá-la até mesmo para averiguar se os seus arquivos não foram alterados sem a sua permissão. Divirta-se!

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine