Problem mit Sendkeys() in Word/Excel

Anfängerfragen zum Programmieren mit PureBasic.
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

Diejenigen, die aufgrund von ts-soft Beitrag glauben,
ich würde irgendetwas im Schilde führen,
darf ich nochmal an meine ursprüngliche Frage
errinern:
Das merkwürdige hierbei ist, das ohne ersichtlichen Grund
und scheinbar zufällig mein Programm
in der zweiten Zelle dieser Tabelle mit dem schreiben der Strings abbricht oder auch nicht.
Wenn ich vor dem SendKeys()-Befehl für die zweite Zelle
ein Delay(300) in meinem Code schreibe, funktioniert
das schreiben in die zweite Zelle immer einwandfrei.
Nun Frage ich mich, wieso nicht die erste oder dritte Zelle?
Für Hilfen und Denkanstöße wäre ich sehr dankbar! :wink:
Was das mit fischen von Daten zu tun hat, ist mir ein Rätsel.
Wenn ich dieses Problem gelöst bekomme, brauche ich
keine weiteren Hilfen, zu Datenbanken oder ähnliches.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ok, also noch mal in kürze:

Völlig egal, ob das dein Webshop ist oder der von Mao, und ob dein Kumpel bei der NSA ist oder beim Hamas...

ich unterstelle dir ganix, is mir auch banane, ich rate dir nur zu ner vernünftigen Lösung.


also, wenn du wirklich mit SendKey rummurxen willst, dann kann ich dir leider nicht helfen,
weil man nun mal keine Ferndiagnosen stellen kann, warum das Holzrad an dem Porsche nich rundläuft.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

Kaeru Gaman hat geschrieben:ok, also noch mal in kürze:

Völlig egal, ob das dein Webshop ist oder der von Mao, und ob dein Kumpel bei der NSA ist oder beim Hamas...
Wieso sollte ich das nicht zugeben, wenn es meiner wäre?
Weshalb, ich könnte kostenlos Werbung haben und
möglicherweise Kunden gewinnen, das
ergibt doch keinen Sinn.
Ich weiß, ich bin nicht sehr lange in diesem Forum
und ich kann das Mißtrauen verstehen. :wink:
Aber ich habe doch überhaupt nicht nach der
Verwendung von Datenbanken gefragt.
Du hast geschrieben, die Daten zu holen scheint kein Problem
zu sein und ich habe lediglich den Code dazu
gegeben.
Ich hatte und habe überhaupt kein Problem die Daten zu holen!
Um weitere Mißverständnisse zu klären:
Wenn ich so einen Satz ...die Daten zuholen schreibe,
dann bezieht es natürlich, nicht auf meinen Rechner, sondern
auf den Rechner von der Person mit Zugriff auf die Webseite.
Auf meinem Rechner habe ich nur die php's auf der Festplatte,
da kann ich natürlich keine Daten holen.
Aber wenn ich die Daten von einer Datenbank
laden könnte, weil es praktischer
und mit dem COMate-Befehl schneller und zuverlässig
ginge, ist doch klar, das mich das Interessiert.
Ich hab von Datenbanken aber absolut keine Ahnung
und mit Sicherheit war es auch meine Schuld
das es zu verdächtigungen kam.
Kaeru Gaman hat geschrieben: also, wenn du wirklich mit SendKey rummurxen willst, dann kann ich dir leider nicht helfen,
weil man nun mal keine Ferndiagnosen stellen kann, warum das Holzrad an dem Porsche nich rundläuft.
Nein, will ich nicht. :wink:
Ich schrieb, ich will das Problem gelöst bekommen
bzw. am liebsten natürlich selber lösen.
Auf welche Art und Weise mein Programm die Daten in ein Word-Dokument
überträgt, solange die Geschwindigkeit einigermaßen ist,
ist mir relativ egal.(Ausser es wäre Illegal!) :)
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Schreibst aufm GameBoy oder warum umbrechen deine Zeilen nach so wenigen Zeichen? Formatierung bitte. Danke ...
Windows 10 Pro, 64-Bit / Outtakes | Derek
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

Fluid Byte hat geschrieben:Schreibst aufm GameBoy oder warum umbrechen deine Zeilen nach so wenigen Zeichen? Formatierung bitte. Danke ...
Ich orientierte mich an dem Eingabefenster. Werde in Zukunft darauf achten. :wink:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Ich orientierte mich an dem Eingabefenster.

das ist wesentlich besser, als schlangentexte zu schreiben.

also bitte nicht jetzt aus trotz ins gegenteil fallen. ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

Kaeru Gaman hat geschrieben:> Ich orientierte mich an dem Eingabefenster.

das ist wesentlich besser, als schlangentexte zu schreiben.

also bitte nicht jetzt aus trotz ins gegenteil fallen. ;)
Du hast mir so oft geholfen, ich werde mein bestes geben,
deiner Bitte zu entsprechen. :wink:

Ich glaube ich weiß jetzt, warum es solche Verwirrungen gab:
Wie kann ich wissen, welche PHP-Dateien das Programm
laden soll, wenn ich nur zugriff auf PHP-Dateien auf meiner Festplatte habe?

Ich habe das Webgadget so programmiert, das die Adresse der
aktuell geladenen Webseite, in ein Stringgadget
geschrieben wird und umgekehrt, die eingebebene Adresse in
dem Stringgadget geladen wird.(wie bei jedem 0815Browser)
Damit holt sich mein Programm die benötigte PHP-Datei
wenn der Anwender mit dem GadgetButton Write in Word
anklickt:

Code: Alles auswählen

ButtonGadget(4, 5, 65, 80, 25, "Write in Word")
StringGadget(8, 155, 3, 0, 20, "http://www.Webseite.de/login")
ButtonGadget(9, 0, 3, 25, 20, "OK")
;AUF MEINEM RECHNER:
WebGadget(11, 0, 102, 0, 0, "file://C:/Autowrite/*.php")
;AUF DEM RECHNER MIT DEM ZUGRIFF AUF DIE WEBSEITE:
WebGadget(11, 0, 102, 0, 0, "http://www.Webseite/login")
Repeat
Event = WaitWindowEvent()
Webtext$ =  GetGadgetText(8)
Select Event
        Case #PB_Event_Gadget
        Select EventGadget()
               Case 4
               Verkntext$ = GetGadgetText(11)
               URLDownloadToFile_(0, Verkntext$, "C:\AutoWrite\Dummy\Test.html", 0, 0)          
               Case 9
               SetGadgetText(11, GetGadgetText(8))
        EndSelect

Case #PB_Event_Menu 
      Select EventMenu() 
             Case 1
             SetGadgetText(11, GetGadgetText(8))
      EndSelect
EndSelect
If Not Webtext$ =  GetGadgetText(11) 
   Select GetActiveGadget()
          Case 8, 9
          ;sieht merkwürdig aus, soll bei 8 oder 9 nichts machen.      
          Default
          SetGadgetText(8, GetGadgetText(11)) 
   EndSelect
EndIf

Until Event = #PB_Event_CloseWindow
Zuletzt geändert von Rebon am 04.06.2009 16:23, insgesamt 6-mal geändert.
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

Tut mir leid, ich habe das Select EventGadget() vergessen!. :roll:
Es fehlt immer noch ein EndSelect, muß mich aber erst noch
vergewissern, wo das gesetzt wird.
Rebon
Beiträge: 263
Registriert: 20.05.2009 19:13

Beitrag von Rebon »

So, ich glaube jetzt stimmt es. Bin mir aber nicht 100% Sicher,
da ich diesen Code aus meinem leider unübersichtlich verzweigten Programmcode herausgesucht habe.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

mehr einrückungen helfen... ;)

und btw... natürlich kannst du die funktion direkt ins Select schreiben,
aber eventuell brauchst du den wert noch wo anders zur auswertung,
also schadet es nichts, diese werte erst zwischenzuspeichern.

Code: Alles auswählen

  Event = WaitWindowEvent()
  EvWin = EventWindow()
  EvGad = EventGadget()
  EvTyp = EventType()
http://www.purebasic.fr/german/viewtopic.php?t=20152
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten