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.

Views

Access 2007 Quick Reference Card - Download

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
Download Microsoft Access 2007 Quick Reference Card

Access 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
?ui=2&view=att&th=126fc0c4953242d9&attid=0.1&disp=attd&realattid=ii_126fc0c4953242d9&zw Access 2007 Quick Reference Card 0a5b15e7c5.jpg

Office 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
f3f3265ffc.jpg

PowerPoint 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes PowerPoint 2007 Quick Reference Card 0ce9acd1ce.jpg

OneNote 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes ?ui=2&view=att&th=126fbf08a8886a76&attid=0.1&disp=attd&realattid=ii_126fbf08a8886a76&zw OneNote 2007 Quick Reference Card 31793c996f.jpg Download OneNote 2007 Quick Reference Card

Excel 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
?ui=2&view=att&th=126fbecf5aa36d89&attid=0.1&disp=attd&realattid=ii_126fbecf5aa36d89&zw Baixe o Excel 2007 Quick Reference Card 1162a8e815.jpg

InfoPath 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
?ui=2&view=att&th=126fbe7f6ea6df90&attid=0.1&disp=attd&realattid=ii_126fbe7f6ea6df90&zw Baixe o QRC do InfoPath c7b481d244.jpg

Publisher 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes ?ui=2&view=att&th=126fbe32d84c949e&attid=0.1&disp=attd&realattid=ii_126fbe32d84c949e&zw Tenha também um QRC para o MS Publisher 2007 d20b787948.jpg Download Publisher 2007 Quick Reference Card

Word 2007 Quick Reference Card - Download

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes

Download Word 2007 Quick Reference Card

Word 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
O editor de texto MS Word é um dos mais utilizados no mundo para criar documentos. Ter em mãos várias referências rápidas aos principais comandos, certamente será de grande ajuda. a4d5aceb3e.jpg

Outlook 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
Imprimir e plastificar um Quick Reference é sempre legal. Também podemos enviar para nossos amigos e conhecidos para que tenham mais agilidade ao trabalhar no dia-a-dia. 7589860e74.jpg

SharePoint 2007 Quick Reference Card

Veja também: Blog Office VBA | Blog Excel | Blog Access        Meu perfil: André Luiz Bernardes
Ter um cartão de Quick Reference à mão é sempre importante... df41d03cb1.jpg Download SharePoint 2007 Quick Reference Card

Developer Map for the 2007 Microsoft Office System


Atualize-se também com este Developer Map. 516d2a198d.gif Download Developer Map for the 2007 Microsoft Office System

Microsoft Office Info Path 2007 Managed Object Model

Não existe nada melhor do que estarmos orientados, não é mesmo.

Baixe este diagrama e utilize-o no desenvolvimento das suas aplicações. 393fe4340c.jpg
Baixe aqui...

Mapa do Desenvolvedor para o MOS (Microsoft Office System) 2007

O MOS (Microsoft Office System) é um conjunto completo de aplicações clientes, servidores e serviços que fornece às empresas os meios para criar, gerenciar e aprimorar soluções de negócios. Às vezes é difícil entender o todo e como todas as peças pequenas (características e especificidades dos produtos) podem trabalhar em conjunto para ajudar a construir uma solução no mundo real. O MS Office é uma enorme família de produtos e tecnologias e tenho trabalhado com várias equipes de diversos produto para criar um mapa geral que ajude os desenvolvedores a entender como visualmente todas as peças do quebra-cabeça se relacionam entre si, mas mais importante ainda, fornecer informações de onde no MSDN, você poderá encontrar documentação técnica relacionada com características específicas. Fez-se um esforço para aproximar os espaços, os membros das classes, e os esquemas de cada produto para enumerá-los todos juntos em um único lugar. Tenho encontrado uma grande maneira de resumir as idéias mais relevantes, ajustando e relacionando os mais de 25 produtos e tecnologias juntos. Segue uma pequena versão do mapa do tesouro. Esse diagrama conceitual, desenvolvido com o MS PowerPoint 2007, gerou um mapa de imagem que oferece links para lugares no MSDN e Microsoft.com. Pode passar o mapa em drill-down para encontrar informações detalhadas de cada produto e tecnologia. Esta é uma versão pequena, assim que tiver acesso, disponibilizo o mapa do tesouro completo. 2007MicrosoftOfficeSystem.gif

VBA - Funções para lidar com Nomes

Tratar os nomes que encontramos em várias bases de dados no decorrer da nossa vida de desenvolvedores é muito bom quando já temos algumas coisas resolvidas.

Seguem algumas coisas para guardarem em suas bibliotecas...

SEPARANDO O PRIMEIRO NOME:
Function ReturnName(nFrase As Variant) As String     ' Author:                     Date:               Contact:                 URL:     ' André Bernardes             10/02/2010 12:31    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/     ' Retorna o primeiro nome a partir de uma frase com o nome completo.         Dim DetectedSpace As Integer     Dim LenFrase As Integer         Let DetectedSpace = InStr(1, nFrase, " ")     Let LenFrase = Len(nFrase) - DetectedSpace + 1     Let ReturnName = Trim(Left(nFrase, DetectedSpace)) End Function
 
SOMENTE O SOBRENOME:
Function ReturnSobreNome(nFrase As Variant) As String     ' Author:                     Date:               Contact:                 URL:     ' André Bernardes             09/02/2010 15:20    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/     ' Retorna o primeiro nome a partir de uma frase com o nome completo.         Dim DetectedSpace As Integer     Dim LenFrase As Integer         Let DetectedSpace = InStr(1, nFrase, " ")     Let LenFrase = Len(nFrase) - DetectedSpace + 1     Let ReturnSobreNome = Trim(Mid(nFrase, DetectedSpace, LenFrase)) End Function
 
CAPITALIZE: TORNANDO AS PRIMEIRAS LETRAS DOS NOMES COMO MAIÚSCULAS:
Function CaptalizeWords(pvarText As Variant) As Variant     ' Author:                     Date:               Contact:                 URL:     ' André Bernardes             11/02/2010 09:24    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/     ' Retorna as primeiras letras de quaiquer palavras como maiúsculas.         If IsNull(pvarText) Then         CaptalizeWords = Null     Else         CaptalizeWords = StrConv(pvarText, vbProperCase)     End If End Function
 
 
Twitter:
@officespecialis @brzexceldevelop @brzaccessdevel
 
Veja também: Blog Office VBA
 
Implemente Dashboards & Scorecards nas suas aplicações MS Excel, MS Access, MS Powerpoint:
 
?ui=2&view=att&th=126bcf41746829d7&attid=0.1&disp=attd&realattid=ii_126bcf41746829d7&zw  ?ui=2&view=att&th=126bcf46cd1064c1&attid=0.1&disp=attd&realattid=ii_126bcf46cd1064c1&zw  ?ui=2&view=att&th=126bcf4bcd67f0c7&attid=0.1&disp=attd&realattid=ii_126bcf4bcd67f0c7&zw  ?ui=2&view=att&th=126bcf533fac9860&attid=0.1&disp=attd&realattid=ii_126bcf533fac9860&zw
 
?ui=2&view=att&th=126bcf5b564427c1&attid=0.1&disp=attd&realattid=ii_126bcf5b564427c1&zw  ?ui=2&view=att&th=126bcf63f7ee8f2f&attid=0.1&disp=attd&realattid=ii_126bcf63f7ee8f2f&zw  ?ui=2&view=att&th=126bcf68bd3c3711&attid=0.1&disp=attd&realattid=ii_126bcf68bd3c3711&zw  ?ui=2&view=att&th=126bcf7689e2c657&attid=0.1&disp=attd&realattid=ii_126bcf7689e2c657&zw
 

VBA Access - Programando Views PivotTable e PivotChart no MS Access - Tabelas e Gráficos Dinâmicos - 01.

Continue nos acompanhando em:
Twitter: @officespecialis             @brzexceldevelop             @brzaccessdevel
Tabelas e Gráficos Dinâmicos - 01
 
 
Mudando o layout de visualização Aprenda abaixo, a como adicionar campos CustomerID, ShipVia, e Freight na PT do formulário baseado na tabela Orders.
 
Dim fset1, fset2, fset3 As PivotFieldSet Set fset1 = Me.PivotTable.ActiveView.FieldSets("CustomerID") Set fset2 = Me.PivotTable.ActiveView.FieldSets("ShipVia") Set fset3 = Me.PivotTable.ActiveView.FieldSets("Freight") Me.PivotTable.ActiveView.RowAxis.InsertFieldSet fset1 Me.PivotTable.ActiveView.ColumnAxis.InsertFieldSet fset2 Me.PivotTable.ActiveView.DataAxis.InsertFieldSet fset3
Adicionando um Total ao campo: O código a seguir cria um Total para o campo que contará o número de CustomerIDs.
 
Me.PivotTable.ActiveView.AddTotal "Count Of Customers", _ Me.PivotTable.ActiveView.FieldSets("CustomerID").Fields("CustomerID"), plFunctionCount Me.PivotTable.ActiveView.DataAxis.InsertTotal _ Me.PivotTable.ActiveView.Totals("Count Of Customers")
 
Adicionando um Campo Total Calculado Crie um campo calculado de 7% do valor do frete. É importante perceber que a sintaxe aceitará qualquer expressão válida para o 'Microsoft Jet Database Engine' para as funções do Visual Basic for Applications (VBA).
 
Me.PivotTable.ActiveView.AddCalculatedTotal "FTax", "Freight Tax", "[Freight] * 0.07" Me.PivotTable.ActiveView.DataAxis.InsertTotal Me.PivotTable.ActiveView.Totals("FTax")
* ATENÇÃO: Ao rodar este código mais de uma vez ocorrerá um erro. Remover todos os Campos da sua visualização PT [Pivot Table] A seguir mostro um exemplo para limpar todos os Campos e Totais da PT, deixando-a em branco. A idéia básica é simples, envolve um looping através dos vários eixos, cuja ação será a remoção. The basic idea is to loop through the various axes and remove all totals and fields. * ATENÇÃO: Este exemplo de código não remove formatação, mas somente pode ser aplicado para os Campos e Totais.
 
Dim ptable As PivotTable Set ptable = Me.PivotTable With ptable.ActiveView     Do While .RowAxis.FieldSets.Count > 0         .RowAxis.RemoveFieldSet 0     Loop     Do While .ColumnAxis.FieldSets.Count > 0         .ColumnAxis.RemoveFieldSet 0     Loop     Do While .FilterAxis.FieldSets.Count > 0         .FilterAxis.RemoveFieldSet (0)     Loop     Do While .DataAxis.FieldSets.Count > 0         .DataAxis.RemoveFieldSet (0)     Loop     Do While .DataAxis.Totals.Count > 0         .DataAxis.RemoveTotal (0)     Loop End With

Programando Views PivotTable e PivotChart no MS Access - Tabelas e Gráficos Dinâmicos.

Olá!
Continue consultando nossos Blogs:
 
Tabelas e Gráficos Dinâmicos
 

Também aplicável a: Microsoft Office Access 2003                                Microsoft Access 2002

Os Formulários e as Folhas de Dados do MS Access suportam 2 novos tipos de visualização desde a versão 2002: Visualização PivotTable® (view) e PivotChart® (view).

A visualização PT (PivotTable) utiliza o Office PivotTable Component e suas respectivas [interativas] facilidades de análise de dados.

A visualização PC (PivotChart) utiliza o Office Chart Component, o qual nos ajuda a criar gráficos dinâmicos e interativos. Tais recursos permitem-nos adicionar interações tais como adicionar: Filtros, Ordenar Dados, sem a necessidade de escrever código. Todavia, se desejar construir uma visualização em tempo real com um formulário sendo preenchido pelo usuário, precisará escrever algum código (Digo algum, prá ser incentivador).

O objetivo deste artigo é apresentar alguns códigos para a realização de tarefas simples, como mover e filtrar campos, nas Tabelas e Gráficos Dinâmicos.

Para mais informações sobre como adicionar código a um formulário, consulte a Ajuda do Access.

IMPORTANTE: Os exemplos a seguir são baseados no banco de dados Northwind Traders, que acompanha o MS Access.

Incluindo uma referência a bilbioteca Office Web Components:
Para que os exemplos de código a seguir possam funcionar corretamente na sua base de dados, primeiro precisará referenciar uma DLL específica para a sua versão do MS Office: Owc11.dll (para o MS Access 2003) ou Owc10.dll (para o MS Access 2002). Bancos de dados criados com o MS Access 2000 ou anterior, ou aqueles criados com o MS Access 2002 e, mais tarde, salvos no formato de arquivo do MS Access 2000, não incluirão essa referência,a qual precisará ser acrescentada a posteriori.
 
Para adicionar uma referência à Biblioteca Owc11.dll (Versão 2003) ou Owc10.dll (Versão 2002), na sua Base de Dados, siga os seguintes passos: 
 
   1. Abra a Base de Dados na qual deseja adicionar a referência;    2. Clique em Código no VBE (Microsoft Visual Basic® Editor);    3. No menu Tools, clique em Referências;    4. Clique no Browse e navigue até localizar a Bilbioteca Owc11.dll ou Owc10.dll.
       Para o MS Access 2003, a localização default é C:/Program Files/Common Files/Microsoft Shared/Web Components/11
         Para o MS Access 2002, C:/Program Files/Common Files/Microsoft Shared/Web Components/10.    5. Selecione o arquivo, clique nele, e clique em OK.
 
O uso das PTs será muito proveitoso: - Permitirá uma análise rápida de dados por parte do usuário;
  (o qual não precisará pedir inúmeras alterações em relatórios que utiliza para análises);
- Evita o desenvolvimento desnecessário de inúmeras interfaces e relatórios;
  (Aquelas interfaces proprietárias, desenvolvidas para atender apenas determinados usuários)
- Com um pouco mais de conhecimento pode ser integrada aos nossos relatórios;   (Botões e Eventos poderão ser integrados para ampliar a experiência, levando aos
  relatórios e interfaces com maiores detalhes).
Faremos as seguintes abordagens:
 
Exemplos de visualizações com PivotTable
 - 01 - Alterando o layout de visualização [Change the layout of the view]  - 02 - Filtrando e ordenando os dados [Filter and sort data]  - 03 - Formatando os elementos [Format elements]  - 04 - Mostrando ou ocultando elementos [Show or hide elements]  - 05 - Exportando uma visualização [Export the view]  - 06 - Restringindo usuários em tempo de execução [Restrict users at run time]  - 07 - Obtendo o valor de uma célula clicado 2 vezes pelo usuário [Get the value of a cell that the user has double-clicked]
Exemplos de visualizações com PivotChart  - 08 - Alterando o layout de visualização [Change the layout of the view]  - 09 - Ordenando e formatando os dados [Sort and format data]  - 10 - Mostrar ou ocultar os elementos [Show or hide elements]  - 11 - Exportar o gráfico como imagem [Export the PivotChart view as an image]  - 12 - Restringindo usuários em tempo de execução [Restrict users at run time]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A&A: Feedback - Escondendo o MS Excel - Dúvida.

Olá Daniel,
Boa tarde.
 
Primeiramente gostaria de agradecê-lo pelo contato. Acha
que poderia retornar-me dizendo onde teve acesso ao meu e-mail ?
 
Bem, desenvolvo soluções VBA com o MS Excel, MS Access,
 
Caso deseje soluções, mesmo que parciais, ou em módulos,
bastará que me consulte.
 
Bem, você não chegou a informar qual a versão do MS Office
está usando, portanto uma solução genérica lhe será útil, tente:
 
                Application.Visible = False
 
 
Para escondê-lo, fazendo-o reaparecer após algum tempo:
Public Sub HideMyExcel()            Let Application.Visible = False
           Application.Wait Now + TimeValue("00:00:05")
           Let Application.Visible = True End Sub
Escondendo o MS Excel e abrindo o formulário:
Public Sub HideShow()
          Let Application.Visible = False  
          Seuformulário.Show            Let Application.Visible = True
End Sub
 
Detalhe: tenha certeza que tornoua sua aplicação MS Excel visível novamente antes de fechar o formulário.
(Estou postando sua dúvida em meu blog para que outros também possam beneficiar-se da sua pergunta)
 
Não deixe de ler os Blogs:
 
André Luiz Bernardes A&A - WORK, DON´T PLAY! http://al-bernardes.sites.uol.com.br/ bernardess@gmail.com Twitter: @officespecialis              @brzexceldevelop              @brzaccessdevel Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você não for o destinatário ou a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Se você recebeu esta mensagem por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida apague-o. Agradecemos sua cooperação.
 
2010/2/8 <daniel.teixeira@wartsila.com>

Prezado Bernardes,

Eu trabalho em uma empresa de motores navais e fiz uma aplicação em VBA no EXCEL e gostaria de tirar uma duvida:

Como faço para esconder o EXCEL e mostrar para o usuario somente o FORM que eu desejo?

Obrigado pela atenção.

Daniel Teixeira da Silva

Automation Technician

Wartsila Brasil

R. São Luiz Gonzaga, 354 - São Cristóvão

CEP: 20910-060 - Rio de Janeiro/RJ - Brasil

Phone: +55 21 3878-8900

Mobile: +55 21 86969109

Fax: +55 21 3878-8925

daniel.teixeira@wartsila.com

LIVROS - Lista de sugestões para enriquecer o seu conhecimento sobre VBA

Dez vez em quando me solicitam sites, blogs, revistas, livros, artigos, algum material PDF, exemplos de aplicações, etc...Sobre programação VBA. E olha que o material é estenso hein! Vai desde o nosso MS Word, até o universo do CAD. Sempre acreditei na leitura de livros como fonte enriquecedora de conhecimento. Compro-os para guardá-los, prestigiar os autores e comparar a evolução destes no decorrer das décadas. Ainda gosto do velho modelo do livro de papel com as suas exceções que são acompanhadas de um DVD-ROM repleto de exemplos. Mas não me restrinjo a aprender apenas nos livros. Fora as publicações em livros tenho como fonte de pesquisa a amizade com alguns MVPs ao redor do mundo. Estes também são fonte inestinguível de conhecimento sobre a Microsoft (Pasmem! Alguns sabem mais sobre certos produtos do que alguns da própria Microsoft). Outro recurso valioso são os Blogs ao redor do mundo, existem diversos e quando digo diversos refiro-me a sites em espanhol, alemão, francês, inglês, japonês, chinês, etc...Basta procurar por VBA no Twitter (Viva ao Google Translator!). Costumo publicar alguns artigos nestes ao redor do mundo também, pois a troca é importantíssima para o enriquecimento da comunidade. Não acredito em guardar segredos sobre técnicas de programação, compartilhar é o melhor para todos. Tornar uma saída pública é o melhor para todos. Resulta em darmos rapidamnte soluções aos nossos clientes. Divulga o ambiente de desenvolvimento que trabalhamos e mantém viva a linguagem que persistimos em nos aprofundar no decorrer dos anos. Após vasculhar minhas prateleiras e fazer algumas buscas aqui e ali, estou compartilhando alguns títulos de livros (Ainda bem que os achei todos no mesmo lugar). Lista de sugestões para enriquecer o seu conhecimento sobre VBA:

 
EXCEL VBA für Maschinenbauer by Harald Nahrstedt
 
Office 2007 Bible by John Walkenbach, Herb Tyson, Faithe Wempen, and Cary N. Prague
 
 
Microsoft Outlook 2007 Bible by Peter G. Aitken
 
 
 
 
Excel Für Controller by Wolfram E. Mewes
 
Office VBA Macros You Can Use Today: Over 100 Amazing Ways to Automate Word, Excel, PowerPoint, Outlook, and Access by Juan Pablo Gonzalez, Cindy Meister, Suat Ozgur, and Bill Dilworth (Paperback - Jan. 1, 2006)
 
 
 
 
 

VBA for Modelers: Developing Decision Support Systems with Microsoft® Office® Excel (with Premium Online Content Printed Access Card) by S. Christian Albright

 
Continue aprendendo em:
 
 

VBA Access - Lendo E-mails do Outlook do Access

Você tem e-mails que gostaria de ver inseridos automaticamente no seu banco de dados ou apenas visualizar o seu conteúdo?
 
O seguinte trecho de código é um exemplo de como fazer isso. Funciona com o Outlook 97, 98 e 2000. Lembre-se de adicionar a referência do MS Outlook para o seu banco de dados ou projeto antes de executar este código.
 
Public Sub ImportOutlookItems()     Dim Olapp As Outlook.Application     Dim Olmapi As Outlook.NameSpace     Dim Olfolder As Outlook.MAPIFolder     Dim OlAccept As Outlook.MAPIFolder     Dim OlDecline As Outlook.MAPIFolder     Dim OlFailed As Outlook.MAPIFolder     Dim OlMail As Object 'Have to late bind as appointments e.t.c screw it up     Dim OlItems As Outlook.Items     Dim OlRecips As Outlook.Recipients     Dim OlRecip As Outlook.Recipient     Dim Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("tbl_Temp") ' Abre a tabela table tbl_temp
' Cria uma conexão com o Outlook.     Set Olapp = CreateObject("Outlook.Application")     Set Olmapi = Olapp.GetNamespace("MAPI")
'Abre a pasta Inbox.     Set Olfolder = Olmapi.GetDefaultFolder(olFolderInbox)     Set OlItems = Olfolder.Items
' Configura as pastas que estão configuradas como repositórios de mensagens.
    Set OlAccept = Olfolder.folders("Accept")     Set OlDecline = OLfolder.Folders("Decline")     Set OlFailed = Olfolder.Folders("Failed")
    Do Until OlItems.Count = 0 ' Set up a loop to run till the inbox is empty (otherwise it skips some)     Set OlItems = OLfolder.Items 'Reset the olitems object otherwise new incoming mails and moving mails get missed     For Each OlMail In OlItems
    If OlMail.UnRead = True Then 'For each mail in the collection check the subject line and process accordingly         Let OlMail.UnRead = False 'Marca o e-mail como lido.
        Rst.AddNew
        Let Rst!Name = OlMail.SenderName
        If InStr(1, OlMail.Subject, "Accept") > 0 Then             Let Rst!status = "Attending"             Let Rst!datesent = OlMail.ReceivedTime
            OlMail.Move OlAccept
        ElseIf InStr(1, OlMail.Subject, "Decline") > 0 Then             Let Rst!datesent = OlMail.ReceivedTime             Let Rst!status = "Decline"
            OlMail.Move OlDecline
        Else             Let Rst!datesent = OlMail.ReceivedTime             Let Rst!status = "Failed"
            OlMail.Move OlFailed         End If
        Rst.Update     End If     Next     Loop     MsgBox "Nova mensage foi checada. Por favor check a tabela tbl_temp para mais detalhes", vbOKOnly
End Sub
 
André Luiz Bernardes
Related Posts Plugin for WordPress, Blogger...

Vitrine

diHITT - Notícias