O meu problema é o Macro Basic

Iniciado por Frank K Hosaka, 16 de Janeiro de 2010, 23:51

tópico anterior - próximo tópico

Frank K Hosaka

Eu ainda sou usuário Windows+Office, eu uso intensamente o programa Access. O Access tem uma tabela de produtos de 5.000 itens, é uma lista enorme, e é anti-ecológico botar toda a tabela de produtos no papel. Eu só tenho meia dúzia de tabela de preço que monto através do Excel. Claro que não atualizo manualmente a tabela, o Excel tem uma ponte que pega os dados diretamente no banco de dados do Access, e o meu trabalho é só apertar o botão imprimir.

Hoje, fucei o OpenOffice que vem no pacote do Ubuntu 9.10. Apertei o [alt]+[f11] como se estivesse dentro do MS Office, e o OpenOffice abriu uma janela que me dava acesso ao recurso do Macro Basic, o equivalente ao Visual Basic do Office. A primeira coisa que eu senti muita falta é da Janela Imediata, onde você pode testar comandos do Basic no ar. No OppenOffice, o máximo que dá para fazer é executar o programa, e não há como testar comandos senão pelo comando executar toda a rotina.

A seguir, testei a sintaxe. Lá no Visual Basic tem um comando chamado Replace, e o Macro Basic do OpenOffice também reconhece. O grande problema é que para cada aplicativo do MS Office, a Microsoft coloca à disposição uma biblioteca adicional no Visual Basic. No Excel, o Visual Basic recebe propriedades e métodos que auxiliam no manuseio de células, planilhas e áreas. No Access, a biblioteca dispõe recursos para criar registros clonados para fazer a janela de consulta mostrar o produto que o usuário quer pesquisar, e assim vai. Já o OpenOffice não oferece nada disso, e o que é pior, o código que você cria dentro do ambiente planilha é visível em qualquer outro aplicativo do OpenOffice, e isso achei estranho, muito estranho. No MS Office, para tornar um código disponível a todos os aplicativos é uma mão de obra que não vale a pena, eu prefiro copiar o código em cada aplicativo, é uma bela mão de obra, já o OpenOffice faz isso sem a menor cerimônia.

Resumindo, há muitas coisas aqui no Ubuntu que não achei no Windows (eu acho fantástico o Firefox que memoriza as páginas da Web que você abriu), mas há muita coisa no Windows que o pessoal da Microsoft merece receber muitos aplausos e justifica os R$ 1.500,00 que pedem no MS Office, que consegue fazer mensagens personalizadas para cada cliente com o fantástico Mala Direta do MS Word, ou simplesmente montar uma pequena tabela de preço no Excel sempre atualizado com o Access, ou fazer relatórios sucintos dentro do Access que identificam registros inconsistentes, por exemplo, a entrada no estoque maior ou menor que o valor contábil da nota do fornecedor.

Enfim, o Ubuntu é um ótimo recurso para qualquer máquina para o usuário que não precisa vincular documentos entre si, tipo navegar na Internet, fazer trabalho de escola, fazer currículo, mas se pensar em fazer um orçamento e mandar pela Internet no formato .pdf, aí o camarada vai ter que se curvar ao Windows, que não é um sistema barato mas já tem muitas soluções mastigadas para facilitar a vida do usuário que não quer saber de programação ou pesquisar na web se algum desenvolvedor conseguiu um plug-in que emula essas facilidades que a Windows descobriu e faz questão de cobrar o olho da cara.

sapomestre

Na minha Opinião o sistema tem que atender os 2 tipos de usuarios, aqueles que gostam de sentar no Terminal e mandar ver e aqueles que preferem facilidades, clica aqui e ali e pronto.

eu prefiro facilidades para por pra rodar qualquer sistema.

Pessoalmente meu uso não é muito pesado no que diz respeito a Programação, sou um Usuário pesado de Windows , exploro tudo oque o sistema pode me oferecer. Monto redes, resolvo Pepinos diversos, mantenho alguns escritórios funcionando.

To tentando me tornar a mesma coisa no Ubuntu. Mas O tarefa dificl, mas se fosse fácil não teria Graça!!!

Sou Inimigo Numero do Terminal.






scrpinheiro

#2
Frank,

Pelo que seu post demonstra, creio que você possui uma empresa ou é um profissional autônomo desenvolvendo as ferramentas que atendem às suas necessidades. Creio também que o seu dia-a-dia demonstra que não existe almoço grátis. Permita-me mostrar uma opinião que pode ser reveladora para muitos de nossos leitores e argumentar sobre meu ponto de vista:

Muitas vezes, na batalha do dia a dia, temos que nos demonstrar versáteis e ativos, principalmente quando temos que empreender algum tipo de negócio. Estudamos, montamos nossos métodos e matamos o leão todo dia normalmente com um palitinho de dente. Todos somos assim, não importa se temos ou não posses. Nessa luta quando apareçe uma solução rápida, por questões de emergência, adotamos sem pensar. A maioria de nós faz isso. Cuidamos da urgência e não nos importamos com o importante.

O preço do uso do linux pode ser próximo a zero, mas o seu valor é gigante se pudermos entender o que ele se propõe. Creio que a proposta é semelhante a um livro de Machado de Assis. Machado de assis não inventou as palavras, muito menos a forma que estas palavras são encadeadas para criar uma frase. O poder de seus livros não estão nos elementos individuais mas sim na sua ordem única de organizar as suas idéias. Linux é assim, um livro, uma ferramenta para produzir  idéias.

Contrate um aprediz de programação jovem para desenvolver uma solução para o seu negócio, dê uma chance a outro indivíduo, poderá numa conta simples ser mais caro tê-lo por perto, mas o que ele poderá produzir para você e seu grupo poderá surpreendê-lo.

O que uma vaca pode te dar de melhor? Leite. Alguns pensam assim.
Outros pensam: Outra vaca. Aí estão os diferentes.

Comprar soluções prontas pode ter um preço alto, mas é acompanhado de um "valor" social baixo. Crie em seu negócio a sua história. Destas forma muitos poderão um dia "ler as suas obras".

Linux deve ser pago. Mas de forma indireta. Se usamos linux deveremos pagá-lo com oportunidades à sociedade que nos cerca.

Boa Sorte

p.s.: Não programo, não vendo softwares, apenas gosto de propostas que podem fazer de mim e de todos nós algo melhor e mais próspero.

alexandrechagas

#3
A linguagem das macros no BrOffice / Openoffice e aquela contida em macros do MS Office é muito semelhante. As poucas funções que deixam de ter suporte dá pra criar na mão, a exemplo do InStrRev... Aos poucos estou adaptando minhas macros para o OpenOffice e estão funcionando muito bem e até bem mais rápidas.
Há algumas coisas que aprendi na unha, para quem for fazer conversão de macros do Visual Basic do Ms-Office para o OpenOffice... Primeiro, em Functions e Subs que recebem valores, deixe um espaço " " antes do "(", pois do contrário não funciona. Exemplo no OpenOffice:

Function Teste (variavel1, variavel 2 etc). Já no MS-Office seria assim
Function Teste(variavel1, variavel2 etc). Notar o espaço após o nome da Função (ou Sub) para o OpenOffice.

Ainda, geralmente, as Functions e as Subs alteram os valores das variáveis de origem, ainda que o nome da variável herdada seja diferente. Exemplo:

Sub Main
a = 1
MudaVariavelOrigem (a)
' o valor de a foi alterado pela Sub, conforme explicado acima... confira com um MsgBox
End Sub

Sub MudaVariavelOrigem (ValorRecebido as integer)
ValorRecebido = ValorRecebido * 2
' Obs: a mesma alteração se aplica para Functions, demonstrando serem as variáveis ByRef (tentei colocar ByVal, mas não funcionou)...
' Por isso, usei uma outra variável para receber o valor recebido, como, por Exemplo,
' b = Valor Recebido
' para continuar a conta com b... Deve ter um jeito mais fácil, mas foi o que consegui até agora...
End Sub

Outra coisa que notei é o seguinte... a linguagem Python, a qual estou aprendendo agora é um canivete suiço no linux... Ela é simples para aqueles que sabem Visual Basic e, ainda, melhor e mais fácil... Essa linguagem roda no Openoffice, em outros aplicativos e até diretamente no terminal ou, ainda, via nautilus...
Aos membros acima, informo que após verem a performance das macros no linux, vão se surpreender positivamente... O único problema que acho é a carencia de livros de programação em Visual Basic no BrOffice / OpenOffice ou outra mais abrangente em Python, especialmente em portugues.
Aliás, caso alguém saiba de algo para indicar, aceito sugestões (Visual Basic / Python).
Finalmente, aos amantes do Access do Ms-Office, apresento o fantástico Kexi (que vem no pacote KOffice). No quesito banco de dados, creio que o kexi é muito melhor que o Openoffice Base, pois as tabelas do OpenOffice Base exigem chave primária para serem editadas, já o kexi é realmente um clone do MS-Access e o melhor, caso se instale o pacote da lingua portuguesa do KOffice, ele fica automaticamente todo em portugues... Ainda, importante dizer que não é necessário instalar o resto do pacote KOffice, pode-se instalar apenas o Kexi via Gerenciador Synaptic e a tradução do Koffice para o portugues.
Para aqueles que estão migrando, como eu, espero que essas poucas dicas sejam uteis e lembro, caso conheçam livros de Visual Basic no OpenOffice ou, ainda, Python em Portugues, agradeço por indicações.
Um grande abraço,

Alexandre

vampire_thunder

Achei esse tópico no Google.

Tenho uma urna eletrônica que fiz no Access e uso em época de eleição para fazer simulado com meus alunos. Contudo, não queria ficar preso ao Office e gostaria de migar para o Base. O problema é que eu usei várias macros e no Base não tem esse suporte, ou se tem eu não sei usar da maneira que faço no Access.
Alguém se disponibilizaria a ajudar? O arquivo base é esse:
www.filipo_tardim.oi.com.br/urna2006.zip