ich habe hier ein vorhandenes VB3-Progrämmchen (mit Quelltext) und
dieses soll ein klein wenig erweitert werden. Notwendig ist der
Zugriff auf eine Excel-Tabelle aus der bestimmte Zellen ausgelesen
werden sollen. Zuletzt soll in einer Zelle noch ein
"gelesen"-Kennzeichen gesetzt werden. Ich dachte, daß dies am
sinnvollsten per DDE gehen sollte. Das Verfahren ist zwar reichlich
antiquiert, hat aber den entscheidenden Vorteil, daß ich damit
Erfahrung habe (nicht so mit OLE, ODBC o.ä.) und es auch mit VB3
funzt.
Kann mir irgend jemand ne Quelle für die Doku der Excel-DDE-Befehle
nennen? Ich hab schon erfolglos zig Suchmaschinen und Web-Seiten
durchforstet. Irgendwie ist da nix zu finden. Die Excel-Hilfe schweigt
sich auch glänzend aus.
Hoffe ihr kennt irgendwas...
Ciao
Enrico
X'Post to microsoft.public.de.vb, microsoft.public.de.excel
--
gesucht wird...
Eine Stelle für eine (sehr gute) biologisch-technische
Assistentin. Möglichst Raum Dessau (Sachsen-Anhalt) oder
Umgebung. Infos bitte an enr...@gmx.de - Danke
E. Pfeifer
"Enrico Mielniczek" <Enr...@gmx.net> schrieb im Newsbeitrag
news:amlhgt82317nthloo...@4ax.com...
Dadurch wird über den angegebenen DDE-Kanal ein Befehl oder eine (bzw.
mehrere) sonstige Aktion(en) in einer anderen Anwendung ausgeführt.
Syntax
Ausdruck.DDEExecute(Channel, String)
Ausdruck Optional. Ein Ausdruck, der ein Application-Objekt zurückgibt.
Channel Long erforderlich. Die Kanalnummer, die von der
DDEInitiate-Methode zurückgegeben wird.
String String erforderlich. Die Nachricht, die in der empfangenden
Anwendung definiert wurde.
Anmerkungen
Die DDEExecute-Methode dient dazu, Befehle an eine andere Anwendung zu
senden. Mit Hilfe dieser Methode lassen sich auch Tastenanschläge an die
andere Anwendung senden, obwohl für diesen Zweck die SendKeys-Methode
geeigneter ist. Das String-Argument kann jede einzelne Taste angeben, die
mit ALT, STRG oder UMSCHALT sowie jeder Kombination dieser Tasten kombiniert
wird. Jede Taste wird durch ein oder mehrere Zeichen repräsentiert, etwa "a"
für das Zeichen a, oder "{ENTER}" für die EINGABETASTE.
Zur Angabe von Zeichen, die beim Drücken der entsprechenden Taste nicht
angezeigt werden (z. B. EINGABE oder TAB), verwenden Sie die in der Tabelle
unten angeführten Codes. Jeder Code in der Tabelle repräsentiert eine Taste
auf Ihrer Tastatur.
Taste Code
RÜCKTASTE {RÜCKTASTE} oder {RÜCK}
UNTBR {UNTBR}
FESTSTELLTASTE {FEST}
CLEAR oder LÖSCHTASTE {SÄUBERN}
LÖSCH oder ENTF {ENTF} oder {LÖSCH}
NACH-UNTEN {UNTEN}
ENDE {ENDE}
EINGABETASTE (Zehnertastatur) {EINGABE}
EINGABETASTE ~ (Tilde)
ESC {ESCAPE} oder {ESC}
HILFE {HILFE}
POS1 {POS1}
EINFG {EINFG}
NACH LINKS {LINKS}
NUM {NUMFT}
BILD-AB {BILDU}
BILD-AUF {BILDO}
RETURNTASTE (Macintosh) {EINGABE}
NACH RECHTS {RECHTS}
ROLLEN {ROLLEN}
TAB {TAB}
NACH OBEN {OBEN}
F1 bis F15 {F1} bis {F15}
Sie können zudem Tasten angeben, die mit UMSCHALT und/oder STRG und/oder ALT
kombiniert sind. Um eine Taste anzugeben, die mit einer oder mehreren der
oben erwähnten Tasten kombiniert wird, verwenden Sie die folgende Tabelle.
Kombination mit Vorangestelltes Zeichen
UMSCHALT + (Pluszeichen)
STRG oder CTRL ^ (Caret-Zeichen)
ALT % (Prozentzeichen)
----------------------------------------------------------------------------
---------------------------------------------------------------------
mfG
Peter
------
mfG
Peter
--
mfG
Peter
>---------------------------------------------------------------------
>DDEExecute-Methode
Danke für die Infos. Nur wollte ich nicht aus Excel heraus eine andere
Anwendung steuern, sondern von einer anderen Anwendung Excel steuern.
D.h. ich brauche die Excel-DDE-Befehle/Optionen die es ermöglichen
zwischen verschiedenen Zellen in einer Excel-Tabelle hin und her zu
wandern, Inhalte auszulesen, zu verändern usw. Darüber schweigt sich
die Hilfe leider aus...
Trotzde Danke und Ciao
Enrico
>Hallo, früher stand mal in der Hilfe zu Access 2.0 eine Menge.
Danke, nur wo krieg ich jetzt ne Hilfe für Access 2.0 her?
Wenn irgendeiner dieses Teil noch auf der Platte rumliegen hat, darf
er es mir gern zumailen. - Danke
nochmals Danke und Ciao
Enrico
Meinst DU sowas :
chan = DDEInitiate(App:="Excel", Topic:="System")
DDEExecute Channel:=chan, Command:="[OPEN(" & Chr(34) _
& "C:\Sales.xls" & Chr(34) & ")]
DDETerminate Channel:=chan
chan = DDEInitiate(App:="Excel", Topic:="Sales.xls")
DDEPoke Channel:=chan, Item:="R1C1", Data:="1996 Sales"
DDETerminate Channel:=chan
Beispiel zur DDERequest-Methode
In diesem Beispiel wird die Microsoft Excel-Arbeitsmappe Book1.xls geöffnet
und der Inhalt von Zelle R1C1 abgerufen.
chan = DDEInitiate(App:="Excel", Topic:="System")
DDEExecute Channel:=chan, Command:="[OPEN(" & Chr(34) _
& "C:\My Documents\Book1.xls" & Chr(34) & ")]"
DDETerminate Channel:=chan
chan = DDEInitiate(App:="Excel", Topic:="Book1.xls")
MsgBox DDERequest(Channel:=chan, Item:="R1C1")
DDETerminateAll
In diesem Beispiel wird ein Kanal zum Thema "System" in Microsoft Excel
geöffnet und dann das Element "Topics" verwendet, damit eine Liste der
verfügbaren Themen zurückgegeben wird. In dem Beispiel wird die Themenliste,
die alle geöffneten Arbeitsmappen enthält, nach der Markierung eingefügt.
aChan = DDEInitiate(App:="Excel", Topic:="System")
topicList = DDERequest(Channel:=aChan, Item:="Topics")
Selection.InsertAfter topicList
DDETerminate Channel:=aChan
Aus der WinWOrd-VBA-Online-Hilfe ......
--
mfG
Peter
--
Mit freundlichen Grüßen
Eckehard Pfeifer
VBA-WorkShops in Dresden, Info unter www.dr-e-pfeifer.de
Ein Blick lohnt sich immer: www.vba-magazin.de