Funktionen DDESend

Du kan använda funktionen DDESend för att starta en DDE-konversation (Dynamic Data Exchange) med ett annat program och skicka ett informationsobjekt till programmet från en kontroll i ett formulär eller en rapport.

Du kan till exempel använda funktionen DDESend i egenskapen Kontrollkälla för en textruta för att skicka data som visas i textrutan till en viss cell i ett Microsoft Office Excel 2007 kalkylblad.

Syntax

DDESend (program, ämne, objekt, data)

Syntaxen för funktionen DDESend har följande argument:

Argument

Beskrivning

program

stränguttryck identifierar ett program som kan delta i en DDE-konversation. Vanligtvis är program namnet på en EXE-fil (utan filnamnstillägget .exe) för ett Microsoft Windows-program, till exempel Excel. Om du till exempel vill starta en DDE-konversation med Excel så skriver du in "Excel" som argumentet program.

avsnitt

Ett stränguttryck som är namnet på ett avsnitt som kan identifieras av programmet. Argumentet avsnitt är ofta ett dokument eller en datafil. Listor med möjliga avsnitt finns i dokumentationen till det andra programmet.

objekt

Ett stränguttryck som är namnet på ett dataobjekt som kan tolkas av argumentet program. Listor med möjliga objekt finns i dokumentationen till det andra programmet.

data

En sträng eller uttryck som innehåller de data som ska skickas till programmet.


Kommentarer

Funktionen DDESend initierar en DDE-konversation med program och ämne och identifierar objektet som det dataobjekt som tar emot data. Om programmet till exempel är Excel kan ämnet vara "Sheet1"och objektet kan vara en rad- och kolumnidentifierare, till exempel "R1C1", eller namnet på ett cellområde.

Dataargumentet anger den information som du vill skicka. Det kan vara en literal sträng, till exempel "Report prepared by John", eller ett uttryck som innehåller resultatet av en funktion som skapar en sträng, till exempel "Prepared on " & Date(). Om ett objekt refererar till mer än en informationsbit, till exempel ett namngivet område i ett Excel-kalkylblad som innehåller flera celler, skickar funktionen DDESenddata till den första posten.

I följande exempel skickar funktionen DDESend strängen "Some text" till cellen i rad 1, kolumn 1 i ett Excel-kalkylblad. Du kan ange det här uttrycket för en textrutekontroll i egenskapsrutan Kontrollkälla på kontrollens egenskapssida:

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

Anta att du vill skicka data från en bunden kontroll i ett Microsoft Office Access 2007-formulär till en cell i ett Excel-kalkylblad. Egenskapen Kontrollkälla för den bundna kontrollen innehåller redan ett fältnamn eller uttryck. Du kan skapa ytterligare en textruta eller kombinationsruta och ange dess Kontrollkälla-egenskap till ett uttryck som innehåller funktionen DDESend, där data är namnet på den bundna kontrollen. Om du till exempel har en bunden textruta med namnet Efternamn kan du skapa ytterligare en textruta och ange följande för egenskapen Kontrollkälla:

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

Den här mellanledskontrollen måste vara antingen en textruta eller en kombinationsruta. Du kan inte använda namnet på en bunden kontroll som dataargument för en kryssruta eller alternativgrupp.

Du kan bara använda funktionen DDESend i inställningen för egenskapen ControlSource för en textruta, alternativgrupp, kryssruta eller kombinationsruta i ett formulär. Du kan inte anropa funktionen DDESend från en VBA-modul (Visual Basic for Applications).

När du använder funktionen DDESend blir kontrollen skrivskyddad i både Formulärvyn och förhandsgranska. Eftersom egenskapen Kontrollkälla också är skrivskyddad i formulärvyn och förhandsgranskningen måste ändringar av kontrollen göras i Designvyn.

Det maximala antalet DDE-konversationer som kan vara öppna samtidigt bestäms av Microsoft Windows, datorns minne och resurser. Om konversationen inte kan initieras eftersom programmet inte körs eller inte känner igen ett ämne eller om det maximala antalet konversationer redan har uppnåtts returnerar DDESend-funktionen null.

Obs!: Det andra programmet kan vara konfigurerat för att ignorera din förfrågan om en DDE-konversation. I så fall returnerar DDESend-funktionen ett null-värde. På samma sätt kan du ange att Access ska ignorera förfrågningar från andra program: Klicka på Access-alternativ på menyn Arkiv, klicka sedan på Avancerat i dialogrutan Programinställningar. Markera Ignorera DDE-frågor under DDE-åtgärder.

Tips     Om du behöver ändra ett annat programs objekt från Access kanske du vill använda Automation.

I följande tabell visas hur funktionen DDESend fungerar när du använder den med de olika kontrollerna.

Kontroll

Kommentarer

Textruta eller kombinationsruta

Eftersom textrutan eller kombinationsrutan är tom i formulärvyn och förhandsgranskningen kan du ange egenskapen Synlig till Falskt.

Dataargumentet kan referera till en annan kontroll. Följande exempel visar hur du kan skicka innehållet i en kontroll med namnet Efternamn till ett Excel-kalkylblad:

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

Gruppruta

Ingen av alternativknapparna i alternativgruppen är markerad i formulärvyn och förhandsgranskningen. Du kanske vill göra alternativgruppen (och knapparna) osynlig genom att ange egenskapen Synlig till False.

Dataargumentet måste innehålla numeriska data, till exempel "2". Om dataargumentet inte är numeriskt skickar inte funktionen DDESend informationen och objektet ändras inte.

Kryssruta

Kryssrutan är skuggad i formulärvyn och förhandsgranskningen. Du kanske vill göra den osynlig genom att ange egenskapen Synlig till False.

Dataargumentet måste innehålla numeriska data, till exempel "2". Om dataargumentet inte är numeriskt skickar inte funktionen DDESend informationen och objektet ändras inte.

Behöver du mer hjälp?

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders