So funktioniert JustAnswer:
  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.
Stellen Sie Ihre Frage an MKruse.
MKruse
MKruse, Dipl.-Inform.
Kategorie: Computer
Zufriedene Kunden: 25
Erfahrung:  9 Jahre Erfahrung mit Java, VBA, Perl, C# und C++.
39215291
Geben Sie Ihre Frage in der Kategorie Computer hier ein
MKruse ist jetzt online.

Hallo, ich m chte aus Excel 2007 heraus ber ein VBA Makro

Kundenfrage

Hallo, ich möchte aus Excel 2007 heraus über ein VBA Makro bei Rechtsklick der Zelle M23 deren Zellinhalt zur Speicherung als Dateiname für ein Word 2007 Dokument automatisch vergeben, kann mir jemand einen Tipp geben? Vielen Dank Hubert Diewald
Gepostet: vor 7 Jahren.
Kategorie: Computer
Experte:  MKruse hat geantwortet vor 7 Jahren.
Hallo und willkommen bei JustAnswer,

ich bin sicher, dass ich oder einer der Kollegen eine Lösung finden wird.
Ich würde Sie jedoch bitten ihr Problem genauer zu beschreiben. So wie ich das verstanden habe, enthält die Zelle M23 einen Dateinamen (inklusive Pfad und Endung?). Muss es denn ein Rechtsklick sein? Ein Ausführen des Makros, das dann fest auf die Zelle M23 zugreift reicht nicht?
Es soll dann ein Word-Dokument geöffnet werden, das zuvor unter dem angegebenen Namen gespeichert wurde? Sollte das Dokument noch etwas enthalten?

MfG
M Kruse
Kunde: hat geantwortet vor 7 Jahren.

Beim Rechtsklick wird ein String erzeugt der Datum und Uhrzeut mit Sekunden enthält

zBsp. 20100725_232830 Dieser String wird zusammen mit einigen anderen Zellinhalten in eine Datenbank geschrieben. In der Worddatei soll ein Bild welches von einem Mikroskop aufgenommen wird mit dem Zellinhalt vom M23 gespeichert werden.

Um später die Inhalte der Excel Zellen mit dem Bild zu identifizieren sollte der Dateiname herangezogen werden können.

 

Aktuell zu Testen soll Word verwendet werden, später soll auf das Kameraprogramm zugegriffen werden.

 

Gruß

Hubert

 

Experte:  MKruse hat geantwortet vor 7 Jahren.
Hallo nochmal,

also ich habe leider immernoch einige Probleme mit der Spezifikation.
Eine Word-Datei zu erstellen über ein Makro ist eigentlich kein Problem. Diese Lösung wäre dann aber nicht für ein generisches Kameraprogramm geeignet. Über die Makros von Excel kann man Word als Applikation ansprechen und entsprechend auch Dinge eintragen.
Von daher meiner weiteren Fragen (tut mir Leid, wenn ich mich etwas "dumm" anstelle, aber eine genaue Beschreibung und je mehr jetzt festgehalten wird, führt zu weniger Missverständnissen später):

1. Word soll jetzt nur als Test dienen. Was macht das Programm, das später verwendet werden soll? Gibt es VBA-Schnittstellen dafür?

2. Wie steht Excel das Bild zur Verfügung? Über das Clipboard?

3. Wohin sollen die Dateien gespeichert werden? In das gleiche Verzeichnis wie die Exceldatei oder einen fest zu spezifierenden Ort?

4. Sehe ich den Ablauf richtig: Rechtsklick in Zelle M23 führt zu:
a.) Erzeugen des Zeitstempels.
b.) Festhalten aller Daten und Eintrag in die Datenbank (für das aktuelle Problem irrelevant)
c.) Speichern einer Worddatei (oder einer anderen Anwendung) mit dem Inhalt der Zelle M23 und einem Bild (aus dem Clipboard?).
d.) Fertig.

MfG
M Kruse
Kunde: hat geantwortet vor 7 Jahren.

Hallo,

zu 1

Ich kenne das Programm noch nicht werde jedoch Heute genaueres erfahren.

 

zu 2

es ist eine Livebild von einem Kamerasystem Excel hat mit dem Bild nichts zu tun

es wird nur aus Excel die "ID" (Zeitstempel) generiert.

 

zu 3

Die Exceldatei dient nur als Eingabemaske es werden keine Daten in Excel gespeichert

alle Daten wandern in die Datenbank.

Die Bilddateien sollen in einem Vorgegebenen Ordner in einem Netzlaufwerk gespeicher werden (genaueres erfahre ich heute vormittag)

 

zu 4

genau richtig

a) 20100726_014832

b) Zellinhalte werden in DB geschrieben

c) Wert aus M23 (a) wird in Speicher übernommen (Strg+C über Makro)

Fokuswechsel auf Word (BildProgramm) Schuß Bild, Speicherung des Bildes mit der

zuvor generierten Nummer Speicherung des Bildes Dateiname = a.docx bzw. a.xxx

xxx = Bildprogramm

Fokuswechsel wieder zu Excel -> Leerung der Zellinhalte für nächste Eingabe.

Fertig

 

Bei weiteren Fragen bitte melden

 

Vielen Dank

Gruß

Hubert Diewald

Experte:  MKruse hat geantwortet vor 7 Jahren.
Hallo und guten Morgen,

wahrscheinlich müssen wir erstmal mehr Informationen über das zu verwendende Programm haben. Wenn es keinerlei Schnittstelle zu VBA geben sollte, dann dürfte eine Verwendung der anderen Anwendung aus Excel heraus schwer werden. VBA verfügt nur über einen eingeschränkten Befehlssatz und das Ansprechen externer Anwendungen ist ein fortgeschrittenes Problem.
Ich bin mir jedoch sicher, dass wir dafür eine Lösung finden. Evtl. müsste man an C#-Programm schreiben, dass die nötigen Schritte dann ausführt und das geht! Aber erstmal abwarten.
Falls es auch möglich ist Word selbst zu verwenden, dann könnte ihnen erstmal der Code aus der folgenden Excel-Datei helfen (der Code versteckt sich als Makro für die Tabelle 1): HIER. Der Code ist etwas rudimentär und ohne große Fehlerbehandlung, aber das ändert sich dann für die fertige Lösung. Wichtig sind insbesondere diese Zeilen:

Set objWord = CreateObject("Word.Application")
objWord.Visible = False
Set objWordDocument = objWord.Documents.Add
objWordDocument.Range.Text = myCell.Cells(1, 1).Text
objWordDocument.SaveAs fileName
objWordDocument.Close
objWord.Quit

Wie Sie sehen kann VBA auf andere Office-Applikationen mit "vorgefertigten" Schnittstellen zugreifen. Soetwas dürfte es ohne weitere Arbeit nicht für das andere Programm geben.

MfG
M Kruse
Experte:  MKruse hat geantwortet vor 7 Jahren.
Hallo nochmal kurz,

was genau funktioniert bei SendKeys eigentlich nicht? Das hätte ich vielleicht mal zuerst fragen sollen.
Ich bin zwar kein Fan von SendKeys, um Anwendungen zu steuern, aber es könnte hier ja notwendig sein darauf zurückzugreifen.
Vielleicht können Sie mir ihr Makro und den entsprechenden Fehler zukommen lassen. Am besten verschlüsselt auf eine Webseite stellen oder ähnliches.

MfG
M Kruse

Ähnliche Fragen in der Kategorie Computer