Como posso exportar uma planilha ou tabela ou seleção para outro formato de arquivo sem alterar o documento atualmente ativo ?
Nosso ambiente principal de operação de dados é no Excel, onde o uso extensivo de formatação e fórmulas é usado para obter os resultados desejados. Os resultados são salvos .CSV
para interoperabilidade com outros programas.
Quando "Arquivo >> Salvar como >> Salvar como tipo >> CSV" é usado, o arquivo .csv é criado e o documento ativo é alterado para saved_file.csv
. Existem alguns avisos sobre a perda de funcionalidade e formatação com este novo formato, mas, caso contrário, a interface do usuário permanece inalterada. Há negrito e itálico, fontes e tamanhos diferentes, preenchimentos de células em segundo plano, intervalos de tabelas definidos e assim por diante. Todas as fórmulas nas células permanecem intactas.
Isso é um desastre esperando para ocorrer. O usuário volta ao trabalho, achando que tudo está normal, logo esquece que o formato atual não suporta nenhuma mágica e continua fazendo Coisas Importantes (tm). A hora do almoço chega, eles fecham o Excel, dão um tapa no Yes duas vezes para diálogos irritantes que não são lidos porque eles os vêem o tempo todo e saem pela porta. ... Após o almoço, o usuário volta e percebe que todo o trabalho entre o Save As e Exit inicial se foi.
"Arquivo >> Exportar ", infelizmente, é apenas mais uma rota de navegação para "Salvar como", também alterando o documento ativo para "some_file.csv".
O que precisamos é exportar alguns dados para outro tipo de arquivo e manter o documento ativo "our-real-data.xlsx".
Como isso pode ser feito? E adicionado ao menu ou faixa de opções para execução com um clique?
Como isso pode ser compartilhado com todos na organização? (sem pedir a usuários individuais para abrir um editor VBA etc.)
fonte
Respostas:
CSV_tools.xla
Reunimos um rápido suplemento VBA que exporta como CSV desde que você o mencionou. Tentei usar o menos código possível para que os novos usuários possam entendê-lo com mais facilidade.
O que faz
Instalação
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\AddIns
Reinicie o Excel e veja sua barra de menus
Código VBA
Atualizações automáticas para diferentes usuários
Depois que todos os usuários tiverem habilitado o Suplemento no Excel (não pode ser automatizado), você poderá copiar a nova
.xla
versão do arquivo via compartilhamento de rede, Robocopy ou ferramentas similares. Mas essa deve ser uma pergunta separada, pois há muitas maneiras diferentes de resolver o problema.Para os geeks do VBA, a parte mais interessante é
que converte um intervalo (uma única linha no nosso caso) em um array 2D, depois em um array 1D e finalmente em uma única string usando a função Join ()
fonte
arr1D = Application.Index(arr2D, 1, 0)
. Desculpe, não posso compartilhar o problema. Vou tentar gerar uma versão lorem-ipsum para teste.<div class="WordSection1"><p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">Review proposal...
. Após remover essa coluna, a exportação das Ferramentas CSV funciona. A rota regular do menu salvar como tipo de arquivo CSV não tem nenhum problema com a coluna html em vigor.Ensine o usuário a abrir uma cópia desses dados.
Ao selecionar um documento do Office, você pode clicar com o botão direito do mouse no ícone e clicar em Novo. Isso cria um novo documento / folha / apresentação, com base no original. Os usuários podem exportar a partir disso, apenas fazendo um Salvar como
Espero que você também tenha bons backups, se estiver preocupado ...
fonte