| Autor |
Beitrag |
the-kecks
      
Beiträge: 157
Erhaltene Danke: 1
Windows Vista Home Premium 64Bit
Delphi 7 Ent.
|
Verfasst: Sa 30.05.09 22:03
hi,
ich möchte in einem worddokument eine zeile löschen. dazu gehe ich zu einer bookmark. dann hab ichs mit wordapplication1.selection.Delete(emptyParam, emptyParam) versucht, dann löscht der aber nur den teil der in der bookmark steht.
mfg
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: So 31.05.09 07:23
Möchtest Du das machen, indem Du die MsWord-Anwendung mit System.SendKey(ParameterWeißIchJetztSoNichtAuswendig) "bombardierst", oder möchtest Du das Word-Dokument in Deinem Programm öffnen und dann dort direkt die Zeile löschen?
|
|
the-kecks 
      
Beiträge: 157
Erhaltene Danke: 1
Windows Vista Home Premium 64Bit
Delphi 7 Ent.
|
Verfasst: So 31.05.09 11:27
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| vBookmark:='VZ'; WordApplication1.Selection.GoTo_(vWhat,emptyParam,emptyParam,vBookmark); if checkbox1.checked=false then begin end else WordApplication1.Selection.TypeText(edit19.text); |
mfg
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: So 31.05.09 11:42
Also wenn ich das jetzt gerade richtig verstehe, möchtest Du dort, wo Du
stehen hast, einen vernünftigen Quelltext für haben?
Da würde ich Dir immer noch empfehelen, einfach nur die Pos1-Taste, danach eine gedrückte Umschalt- (also Caps-)Taste und dazu die "Runter-Taste" (Ich meine, die heißt VK_KeyDown), und nach den Lösen der Caps-Taste dann einfach nur noch den Entf- oder Del-Key an das System zu senden.
Ich hoffe nur, dass ich Dich damit nicht zu sehr auf "unsaubere Abwege" bringe, aber ich weiß leider nicht, wie man es sonst lösen kann.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 31.05.09 12:12
Ich habe zwar keine große Ahnung von Office-Automation, aber könnte man das nicht einfach in Word mit dem Makro-Recorder aufzeichnen und den erzeugten Basic-Source nach Delphi portieren?
|
|
the-kecks 
      
Beiträge: 157
Erhaltene Danke: 1
Windows Vista Home Premium 64Bit
Delphi 7 Ent.
|
Verfasst: So 31.05.09 12:12
dann bräucht ich noch den dezimalen ascii code von pos1, shift und pfeil runter
@DeddyH: du meinst den gesamten text der datei nach delphi (als Stringlist?) importieren?
hab das mal mit in ner txt speichern versucht, dei tabellenstruktur in meinem dokument geht verloren
mfg
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: So 31.05.09 12:26
Ich denke, dafür eignet zum Beispiel das Thema 75629 und davon der Beitrag von bAstimc vom Mi 29.08.07, 14:44 Uhr ganz gut - also konkret dieser hier.
|
|
the-kecks 
      
Beiträge: 157
Erhaltene Danke: 1
Windows Vista Home Premium 64Bit
Delphi 7 Ent.
|
Verfasst: So 31.05.09 12:38
vll bin ich doof aber ich hab den pos1 dezimal code immernoch nicht gefunden xD
//hab ihn gefunden #24
THX!
//edit2: sendkey funzt bei mir nicht so ganz, da steht immer undifinierter bezeichner sendkey, dann hab ichs so versucht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| key := VK_HOME; Scan := MapVirtualKey(key, 0); keybd_event(key, Scan, 0, 0); keybd_event(key, Scan, KEYEVENTF_KEYUP, 0); key := VK_SHIFT + VK_DOWN; keybd_event(key, Scan, 0, 0); keybd_event(key, Scan, KEYEVENTF_KEYUP, 0); key := VK_BACK; keybd_event(key, Scan, 0, 0); keybd_event(key, Scan, KEYEVENTF_KEYUP, 0); |
das kann ich zwar kompilieren aber da macht der nix
habs jetzt anders gelöst, ich hab ne andere bookmark über die ganze zeile in das dokument gesetzt und dann lösch ich diese mit wordapplication1.selection.Delete(emptyParam, emptyParam)
mfg
|
|