Views

Important:

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

...

15 de julho de 2013

Perguntas, Questões e Esclarecimentos - Questions and Answers...




Olá!

Acredito ser oportuno compartilhar com você o modo como pode ter as suas questões respondidas, calibrando as suas expectativas para com os meus Blogs.

Todos os posts que escrevo têm por objetivo elucidar, ampliar ou ensinar algum aspecto que pessoalmente acredito ser relevante tanto aos novos desenvolvedores, quanto àqueles que já tem uma carreira firmada no desenvolvimento com o VBA ou em assuntos afins abordados nos meus Blogs.

Gostaria que compreendesse que não há como estender um suporte caso a caso para cada post/artigo registrado neles.

Imagine que hoje, 29|06|2013, são mantidos 6 Blogs com conteúdo e postagens regulares.

Juntos, estes recebem uma visitação diária que ascende a 500 visitas distintas.

A grande maioria das visitas são de pessoas que estão contatando o Blog através do Google.

Das 500 visitas distintas, 35% retornam agradecendo-me pelo conteúdo através de e-mails ou comentários. Em média 5% solicitam esclarecimentos sobre um post específico. E ainda existe uma taxa crescente, que hoje está por volta de 7% de pessoas que solicitam soluções para os seus códigos pessoais ou corporativos.

Neste momento tento compartilhar nos meus Blogs conteúdos que sejam simples, novos, complicados, avançados, desconhecidos, pouco usuais, ou mesmo aqueles que sequer imaginamos ser possíveis.

De fato, não exijo qualquer vínculo de exclusividade com os meus Blogs. Isso seria totalmente contra os meus princípios, pois quando posso, compartilho livremente o que aprendo e aprendo com os que compartilham. 

O propósito de ter criado diversos Blogs foi o de aprender, cooperar, compartilhar conhecimento, divulgar e difundir técnicas, procedimentos, e versões de softwares.

Não desenvolvi fóruns, que guardam em seu conceito primário, o esforço contínuo de esclarecer questões específicas. 

No momento todo o meu tempo profissional está alocado em projetos em andamento. Caso deseje desenvolver um projeto, terei prazer em atendê-lo como freelance.

Mais uma vez, agradeço-lhe por ter visitado a um dos meus Blogs e ter absorvido neles uma impressão básica daquilo que queria transmitir.

VBA Excel - Listando todas as Abas disponíveis - List Of Available Tabs In Vba


Talvez precise preencher uma matriz com o nome de todas as abas de uma planilha, ou um listbox que será a base do menu, ou mesmo ordenar as sheets. Sim, é básico, mas útil.

Como listar o nome de todas as abas (worksheets) de uma planilha (workbook), na aba atual (sheet):

Sub ListAllSheet() 
    Dim StrSheets() As String 
    Dim OSheet As Object 
    Dim lCount As Long 
     
    Redim StrSheets(Sheets.Count - 1) 
     
    For Each OSheet In Sheets 
        Let StrSheets(lCount) = OSheet.Name 
        Let lCount = lCount + 1 
    Next OSheet 
     
    For lCount = LBound(StrSheets) To UBound(StrSheets) 
       Let Cells(lCount + 1, 1) = StrSheets(lCount) 
    Next lCount 
     
End Sub 

Tags: Sheet, VBA, Excel, worksheet, workbook



Microsoft Office - Kit de Treinamento do Desenvolvedor Office



No esforço de encorajar os desenvolvedores a começarem a desenvolver soluções para o MS Office, foi liberado para os assinantes MSDN e TechNet, da Microsoft também o Kit de Treinamento do Desenvolvedor Office para desenvolvedores de aplicações que querem começar a desenvolver soluções e add-ins em destaque no Office Business Applications (OBAs) usando o Visual Studio com o Office e o SharePoint como plataforma principal. Este kit de treinamento foi projetado para incluir um conjunto abrangente de conteúdo técnico, como vídeos com instrutores, apresentações, hands-on labs e códigos fonte.

O Kit de Treinamento do Desenvolvedor Office inclui os seguintes cursos:

Office 2010 Developer Roadmap – Introducing Office 2010

Office 2010 Development Tools and Developing Office 2010 Customizations

Office UI Customization – Office Development with Visual Studio 2010

Custom Task Panes and Outlook Form Regions

Office Client Workflow – Why Do We Need Workflow

Visio and SharePoint Designer Workflow and Visio Studio 2010 SharePoint Workflow

Security and Deployment – Deploying Office Applications

Office Application Deployment and Office Applications in SharePoint

Business Connectivity Services – Creating BCS Application

Developing BI Applications – What is Business Intelligent and 
PerformancePoint Services

Open XML – Introducing Open XML

Open XML Architecture and

Open Office Tools and API

Office 2010 Services – Developing with Word Services

Developing with Access Services and Developing with Visio Services.

InfoPath 2010 and Forms Services – What is InfoPath 2010

List Forms using InfoPath 2010

Working Offiline with InfoPath 2010

InfoPath 2010 and Visual Studio

Application Compatibility – Application Compatibility Overview

Compatibility Inspector

Access 2010 – Getting Started with Access 2010 

Better Design Tools with Access 2010 and Access 2010 Web Databases

Core Office Development – Working with Data in Office 

Writing Visual Basic for Applications Code and Core UI Customization

Se você estiver interessado em fazer este curso com o material descrito, acesse aqui.


Tags: Microsoft, Office, Office 2010, training, treinamento, kit, desenvolvedor, development, 



3 de julho de 2013

VBA Excel - Criando um Log de acesso

Inline image 2



Digamos que precisemos rapidamente registrar o nome das pessoas que estão acessando um relatório, uma análise, um Dashboard contido em uma das nossas planilhas.

Rapidamente podemos inserir esta função na nossa planilha e , voià la pronto!

Caso o nosso arquivo esteja sendo aberto em uma página da intranet, o mesmo não registrará nada.

Function Rastrear()
    ' Author:                     Date:               Contact:
    ' André Bernardes             11/08/2008 09:01    bernardess@gmail.com
    ' Cria arquivo de Log.

    If Left(ThisWorkbook.Path, 4) <> "http" Then
        Open ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & ".log" For Append As #1
        Print #1, Application.UserName, Now
        Close #1
    End If
End Function

Tags: VBA, Excel, logo, txt, texto, text




Extrair eMails




Consegue extrair um endereço de eMail de uma linha onde estejam contidos outros dados?

Veja o exemplo: 

André Luiz Bernardes <bernardess@gmail.com>

Utilize a função ExtractEmailAddress para extrair somente o endereço do e-mail.

Function ExtractEmailAddress(s As String) As String
    ' Author:                     Date:               Contact:
    ' André Bernardes             11/08/2008 09:01    bernardess@gmail.com
    ' Extrai apenas o e-mail de uma célula.

    Dim AtSignLocation As Long
    Dim i As Long
    Dim TempStr As String
    Const CharList As String = "[A-Za-z0-9._-]"

    'Localizando a @.
    Let AtSignLocation = InStr(s, "@")

    If AtSignLocation = 0 Then
        Let ExtractEmailAddress = "" 'not found
    Else
        Let TempStr = ""

        'Parte do e-mail antes da @.
        For i = AtSignLocation - 1 To 1 Step -1
            If Mid(s, i, 1) Like CharList Then
                Let TempStr = Mid(s, i, 1) & TempStr
            Else
                Exit For
            End If
        Next i

        If TempStr = "" Then Exit Function

        'Parte do e-mail depois da @.
        Let TempStr = TempStr & "@"

        For i = AtSignLocation + 1 To Len(s)
            If Mid(s, i, 1) Like CharList Then
                Let TempStr = TempStr & Mid(s, i, 1)
            Else
                Exit For
            End If
        Next i
    End If

    'Remove trailing period if it exists
    If Right(TempStr, 1) = "." Then _
       Let TempStr = Left(TempStr, Len(TempStr) - 1)

    Let ExtractEmailAddress = TempStr
End Function


Tags: VBA, Tips, UDF, e-mail, eMail,




2 de julho de 2013

VBA Excel - Liste todas as Fontes instaladas no MS Excel - Display all installed fonts using VBA in Microsoft Excel












Sim, é possível listar todas as fontes que estiverem instaladas no seu computador. Como?

Use o código abaixo:

Sub ShowInstalledFonts()
Const StartRow As Integer = 4
Dim FontNamesCtrl As CommandBarControl, FontCmdBar As CommandBar, tFormula As String
Dim fontName As String, i As Long, fontCount As Long, fontSize As Integer
    fontSize = 0
    fontSize = Application.InputBox("Enter Sample Font Size Between 8 And 30", _
         "Select Sample Font Size", 12, , , , , 1)
    If fontSize = 0 Then Exit Sub
    If fontSize < 8 Then fontSize = 8
    If fontSize > 30 Then fontSize = 30
    Set FontNamesCtrl = Application.CommandBars("Formatting").FindControl(ID:=1728)
    ' If Font control is missing, create a temp CommandBar
    If FontNamesCtrl Is Nothing Then
        Set FontCmdBar = Application.CommandBars.Add("TempFontNamesCtrl", _
            msoBarFloating, False, True)
        Set FontNamesCtrl = FontCmdBar.Controls.Add(ID:=1728)
    End If
    Application.ScreenUpdating = False
    fontCount = FontNamesCtrl.ListCount
    Workbooks.Add
    ' list font names in column A and font example in column B
    For i = 0 To FontNamesCtrl.ListCount - 1
        fontName = FontNamesCtrl.List(i + 1)
        Application.StatusBar = "Listing font " & _
            Format(i / (fontCount - 1), "0 %") & " " & _
            fontName & "..."
        Cells(i + StartRow, 1).Formula = fontName
        With Cells(i + StartRow, 2)
            tFormula = "abcdefghijklmnopqrstuvwxyz"
            If Application.International(xlCountrySetting) = 47 Then
                tFormula = tFormula & "æøå"
            End If
            tFormula = tFormula & UCase(tFormula)
            tFormula = tFormula & "1234567890"
            .Formula = tFormula
            .Font.Name = fontName
        End With
    Next i
    Application.StatusBar = False
    If Not FontCmdBar Is Nothing Then FontCmdBar.Delete
    Set FontCmdBar = Nothing
    Set FontNamesCtrl = Nothing
    ' add heading
    Columns(1).AutoFit
    With Range("A1")
        .Formula = "Installed fonts:"
        .Font.Bold = True
        .Font.Size = 14
    End With
    With Range("A3")
        .Formula = "Font Name:"
        .Font.Bold = True
        .Font.Size = 12
    End With
    With Range("B3")
        .Formula = "Font Example:"
        .Font.Bold = True
        .Font.Size = 12
    End With
    With Range("B" & StartRow & ":B" & _
        StartRow + fontCount)
        .Font.Size = fontSize
    End With
    With Range("A" & StartRow & ":B" & _
        StartRow + fontCount)
        .VerticalAlignment = xlVAlignCenter
    End With
    Range("A4").Select
    ActiveWindow.FreezePanes = True
    Range("A2").Select
    ActiveWorkbook.Saved = True
End Sub



Tags: VBA, Tips, Excel, Font, Fontes, install, instaladas




eBooks VBA na AMAZOM.com.br

Vitrine