Autor Thema: [gelöst]Problem mit Replace function, siehe 7. Beitrag  (Gelesen 3249 mal)

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Hallo erstmal,

ich möchte gerne den kompletten Inhalt einer Tabelle kopieren. Ich habe schon probiert das ganze per renderToRTItem, aber da hab ich das Problem, dass er teile mitnimmt, die ich nicht haben will und nach 3h ausprobieren die wieder rauszukriegen per range und so weiter such ich jetzt eine Lösung wo man wirklich nur den Inhalt der Tabelle kopiert und in ein RTItem einfügt.

Weiß jemand eine schnelle Lösung wäre echt dringend.

Gruß

Andreas
« Letzte Änderung: 25.11.08 - 10:21:45 von LordKiri »

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Tabelleninhalt kopieren
« Antwort #1 am: 24.11.08 - 16:09:08 »
du könntest eine dummy maske bauen in der nur deine tabelle vorkommt

die rufst du kurz über skript auf (also öffnest Sie im ForntEnd), sagst, copy all, dummy maske schliessem und fügst das dann in das rt-feld deiner wahl ein.

das skript dazu ist ziemlich simpel und sollte schneller als 3 stunden sein.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: Tabelleninhalt kopieren
« Antwort #2 am: 25.11.08 - 09:22:49 »
ich hab es jetzt gelöst, danke....

Dafür habe ich ein neues Problem:

Code
      srcArray(0) = "."
	srcArray(1) = "_"
	srcArray(2) = "-"
	
	repArray(0) = " "
              
                fSendTo = wfDoc.GetItemValue("SendTo")

                chkSendTo = Replace (fSendTo, srcArray, repArray)
er bringt mir hier jedes Mal die Meldung:

wrong number of array subscripts

Driri

  • Gast
Re: Problem mit Replace function, siehe 3. Beitrag
« Antwort #3 am: 25.11.08 - 09:23:53 »
Ist klar. srcArray und repArray haben unterschiedlich viele Elemente.

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: Problem mit Replace function, siehe 3. Beitrag
« Antwort #4 am: 25.11.08 - 09:42:08 »
dacht ich vorher auch, deswegen habe ich es auch so probiert:

Code
	
	srcArray(0) = "."
	srcArray(1) = "_"
	srcArray(2) = "-"
	
	repArray(0) = " "
	repArray(1) = " "
	repArray(2) = " "
	

kommt aber genau der selbe Fehler

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Replace function, siehe 3. Beitrag
« Antwort #5 am: 25.11.08 - 09:47:40 »
Ist FSendTo ist wirklich ein Array (oder ein String)?

Und nimmt er im Debugger wirklich den neuen Code?

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: Tabelleninhalt kopieren
« Antwort #6 am: 25.11.08 - 09:56:49 »
Code
                fSendTo = wfDoc.GetItemValue("SendTo")

                chkSendTo = Replace (fSendTo, srcArray, repArray)

fSendTo ist als Variant deklariert, aber durch das GetItemValue wird es doch zum array oder irre ich mich da.

im Debugger behandelt er es als Array, also mit
  • ....
  • [1].....
    [2].....
    [3]....
    ....

    jetzt habe ich gedacht es liegt daran, dass repArray und srcArray als Variant behandel werden, auch deren Werte, also habe ich sie als String deklariert, aber es geht trotzdem nicht...

    ich probier jetzt noch den neuen Array in einer anderen Variable zu speichern...

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: [gelöst]Problem mit Replace function, siehe 8. Beitrag
« Antwort #7 am: 25.11.08 - 10:21:33 »
ich habe es gelöst....
es lag daran dass fSendTo als Variant deklariert war hab diesen workaround geschrieben und schon gehts:
Code
	Dim repArray(2) As String, srcArray(2) As String
	Dim fSendTo As Variant
	Dim nSendTo As Variant
	Dim i As Integer, j As Integer, k As Integer, h As Integer
	
	Set uidoc = ws.CurrentDocument
	Set wfDoc = uidoc.Document
	
	srcArray(0) = "."
	srcArray(1) = "_"
	srcArray(2) = "-"
	
	repArray(0) = " "
	repArray(1) = " "
	repArray(2) = " "
	
	fSendTo = wfDoc.GetItemValue("SendTo")
	
	For h = 0 To Ubound(fSendTo)
		Redim Preserve chkSendTo(h)
		chkSendTo(h) = fSendTo(h)
	Next

                nSendTo = Replace (chkSendTo, srcArray, repArray)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz