Função DDESend

Pode utilizar a função DDESend para iniciar uma conversa dinâmica de troca de dados (DDE) com outra aplicação e enviar um item de informação para essa aplicação a partir de um controlo num formulário ou relatório.

Por exemplo, pode utilizar a função DDESend na propriedade ControlSource de uma caixa de texto para enviar os dados apresentados nessa caixa de texto para uma célula especificada numa folha de cálculo Microsoft Office Excel 2007.

Sintaxe

DDESend (aplicação, tópico, item, dados)

A sintaxe da função DDESend tem estes argumentos:

Argumento

Descrição

aplicação

Um expressão de cadeia identificando uma aplicação que pode participar numa conversa DDE. Normalmente, a aplicação é o nome de um ficheiro .exe (sem a extensão .exe) para uma aplicação baseada no Microsoft Windows, como o Excel. Por exemplo, para iniciar uma conversa DDE com o Excel, escreva "Excel" para o argumento da aplicação.

tópico

Uma expressão de corda que é o nome de um tópico reconhecido pela aplicação. O argumento do tópico é muitas vezes um documento ou ficheiro de dados. Consulte a documentação da outra aplicação para obter uma lista de possíveis tópicos.

item

Uma expressão de corda que é o nome de um item de dados reconhecido pela aplicação. Verifique a documentação da outra aplicação para obter uma lista de possíveis itens.

dados

Uma cadeia ou expressão contendo os dados a enviar para a aplicação.


Observações

A função DDESend inicia uma conversa DDE com aplicação e tópico,e identifica o item como o item de dados que receberá dados. Por exemplo, se a aplicação for o Excel, o tópico pode ser "Sheet1", e o item pode ser um identificador de linha e coluna, como "R1C1", ou o nome de uma gama de células.

O argumento dos dados especifica a informação que pretende enviar. Pode ser uma cadeia literal, como "Report prepared by John", ou pode ser uma expressão que inclui o resultado de uma função que cria uma corda, como "Prepared on " & Date(). Se o item se refere a mais de uma informação, como uma gama nomeada numa folha de cálculo do Excel que contém várias células, a função DDESend envia dados para a primeira entrada.

No exemplo seguinte, a função DDESend envia a "Some text" de cadeia para a célula da linha 1, Coluna 1 numa folha de cálculo do Excel. Pode introduzir esta expressão para um controlo de caixa de texto na caixa de propriedade ControlSource na folha de propriedade do comando:

=DDESend("Excel", "Sheet1", "R1C1", "Some text")

Suponha que queira enviar dados de um controlo vinculado num formulário de Microsoft Office Access 2007 para uma célula numa folha de cálculo do Excel. A propriedade ControlSource do controlo vinculado já contém um nome de campo ou expressão. Pode criar outra caixa de texto ou caixa de combinação e definir a sua propriedade ControlSource para uma expressão que inclui a função DDESend, onde os dados são o nome do controlo vinculado. Por exemplo, se tiver uma caixa de texto ligada chamada LastName, pode criar outra caixa de texto e definir a sua propriedade ControlSource para o seguinte:

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

Este controlo intermediário deve ser uma caixa de texto ou uma caixa de combinação. Não é possível utilizar o nome de um controlo vinculado como argumento de dados para uma caixa de verificação ou grupo de opções.

Só pode utilizar a função DDESend na definição de propriedade ControlSource de uma caixa de texto, grupo de opções, caixa de verificação ou caixa de combinação num formulário. Não é possível chamar a função DDESend de um módulo Visual Basic for Applications (VBA).

Quando utiliza a função DDESend, o controlo torna-se apenas de leitura em vista de Formulário e visualização de impressão. Como a propriedade ControlSource também é lida apenas na visualização do Formulário e visualização de impressão, as alterações ao controlo devem ser efetuadas em vista de Estrutura.

O Microsoft Windows e a memória e os recursos do computador determinam o número máximo de conversas DDE que podem ser abertas simultaneamente. Se a conversa não puder ser iniciada porque a aplicação não está em execução ou não reconhece o tópico ou se o número máximo de conversas já foi alcançado, a função DDESend devolve um Nulo.

Nota: A outra aplicação pode ser configurada para ignorar o seu pedido de uma conversa DDE. Em caso afirmativo, a função DDESend devolve um Nulo. Da mesma forma, pode definir Acesso para ignorar pedidos de outras aplicações: clique em Opções de Acesso no menu Ficheiro e, em seguida, clique em Advanced na caixa de diálogo Definições de Aplicação. Em operações de DDE,selecione ignore pedidos DDE.

Sugestão     Se precisar de manipular os objetos de outra aplicação a partir do Access, é melhor considerar a utilização da Automação.

A tabela a seguir ilustra como a função DDESend se comporta quando a utiliza com cada um dos comandos.

Controlo

Observações

Caixa de texto ou caixa combo

Como a caixa de texto ou caixa de combinação aparece em branco na visualização do Formulário e na pré-visualização de impressão, pode querer definir a sua propriedade visível para Falso.

O argumento dos dados pode referir-se a outro controlo. O exemplo a seguir mostra como pode enviar o conteúdo de um controlo chamado LastName para uma folha de cálculo do Excel:

=DDESend("Excel", "Sheet1", "R1C1", [LastName])

Grupo de opções

Nenhum dos botões de opção no grupo de opções é selecionado na visualização de formulário e visualização de impressão. Pode querer tornar o grupo de opção (e os seus botões) invisível, definindo a sua propriedade Visível para Falso.

O argumento dos dados deve conter dados numéricos, tais como "2". Se o argumento dos dados não for numérico, a função DDESend não envia a informação e o item não é alterado.

Caixa de verificação

A caixa de verificação é sombreada na visualização do formulário e na pré-visualização de impressão. Pode querer torná-lo invisível, definindo a sua propriedade Visible para a False.

O argumento dos dados deve conter dados numéricos, tais como "2". Se o argumento dos dados não for numérico, a função DDESend não envia a informação e o item não é alterado.

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

×