Pergunta

Usando VBA em MS Office, como faço para adicionar texto para a área de transferência do Windows para que ele irá colar no Word como uma tabela?

Foi útil?

Solução

A área de transferência do Windows suporta vários formatos. Quando você quer colocar as coisas na área de transferência, você faz um ou mais chamadas para RegisterClipboardFormat () dizendo que os formatos dos objetos que você estará colocando na área de transferência, seguido por chamadas para SetClipboardData (), que realmente coloca os dados na área de transferência .

Se você quer ser capaz de colar uma tabela no Word, em seguida, HTML é o formato mais fácil de trabalhar. Basta copiar uma tabela HTML na área de transferência, e vai colar corretamente no Word, desde que primeiro registrar os dados da área de transferência como um objeto HTML.

Eu te daria algum código, mas é mais fácil simplesmente fazer referência a um exemplo no MSDN:

Como adicionar código HTML para a área de transferência usando o Visual Basic

Esta página ainda mostra um exemplo de copiar uma tabela HTML na área de transferência.

Outras dicas

Kluge resposta está correta, mas este artigo diferente no MSDN tem melhor código que é mais fácil de re-uso: http://blogs.msdn.com/jmstall/archive/2007/01/21/html-clipboard.aspx

Você tentou formatá-lo como uma tabela HTML?

Tem sido um tempo desde que eu tenha feito qualquer programação do Windows, mas eu me lembro que você registrar o formato do objeto. Na verdade, você pode registrar vários objetos de diferentes formatos ea aplicação colando pode escolher entre eles (como com opção Paste Special do Word).

Gostaria de tentar criar um objeto de tabela do Word, preenchê-lo de células com os seus dados e depois copiar que na área de transferência.

A área de transferência é grande ... Mas algo parece um pouco esboçado em usá-lo para manter a saída do seu programa para colar no Word. O que é que você está tentando fazer isso você provavelmente deve estar fazendo alguma outra forma?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top