Applescript für automatisches Suchen und Kopieren in Excel

L

lmu12416

Registriert
Thread Starter
Dabei seit
22.09.2010
Beiträge
4
Reaktionspunkte
0
Hi,

ich habe erst jetzt Applescript entdeckt, bin aber schon sehr begeistert.
Leider scheitere ich im Moment an folgender Aufgabe:
Ich habe ein Excel file mit 20.000 Reihen und 5 Spalten. Diesen Datensatz würde ich gerne in der Spalte A nach einem bestimmten Begriff durchsuchen, z.b. "Apfel". Dann möchte ich den kompletten Inhalt dieser Reihe kopieren und in ein neues Excel sheet pasten (Also, wenn "Apfel" in A324 steht, dann möchte ich A324:E324 kopieren). Ich kann zwar den Inhalt einer Zelle kopieren, aber nicht die Reihe, die den Suchbegriff enthält.
Vielleicht kann mir jemand hier weiterhelfen.

Vielen Dank im Voraus,

lmu12416
 
Hi, vielen Dank für Deine Antwort.
Leider komme ich damit nicht weiter.
Ich habe folgendes script geschrieben:

-----

tell application "Microsoft Excel"

activate "Macintosh HD:Arbeitsmappe.xlsx"
activate object worksheet 1
set Suche to "Äpfel"
set Wo to get address (find range "B:B" of worksheet 1 what Suche)
display dialog Wo


end tell
--------

Wenn z.B. "Äpfel" in Spalte B auf Position 2 steht, kommt $B$2 in die Variable "Wo" zurück. Wie kann ich jetzt mit dieser Info nun die Zellen A2:E2 markieren?

Beste Grüße,

lmu12416
 
Du kannst aus Deinem Ergebnisstring den numerischen Wert herausfiltern (der ja der gewünschten Reihennummer entspricht) und mit dieser Nummer AppleScript einen Range für Deine Selektion basteln lassen. Beispiel:

PHP:
tell document 1 of application "Microsoft Excel"
	set searchString to "Irgendwas"
	set resultString to get address (find (range "A:E" of worksheet 1) what searchString)
	set theRowNum to (my readRowNumber(resultString))
	set myRange to range ("$A$" & theRowNum & ":$E$" & theRowNum) of worksheet 1
	activate
	select myRange
end tell

on readRowNumber(aString)
	set otid to text item delimiters
	set text item delimiters to "$"
	set n to text item 3 of aString
	set text item delimiters to otid
	return n
end readRowNumber

Good scripting
Farid
 
vielen dank.
probier's gleich aus.
 
Es ist sogar noch viel einfacher:
mit Hilfe der Property first row index erhält man die Nummer der ersten Reihe im Ergebnisrange.
Das heißt, mein Handler zum herausfiltern der Nummer aus einem String wie "$F$7" ist überflüssig:

PHP:
tell document 1 of application "Microsoft Excel"
	set searchString to "Irgendwas"
	set myRange to (find (range "A1:E10" of worksheet 1) what searchString)
	set myIndex to first row index of myRange
end tell

Frohes scripten
Farid
 
Es ist sogar noch viel einfacher:
mit Hilfe der Property first row index erhält man die Nummer der ersten Reihe im Ergebnisrange.
Das heißt, mein Handler zum herausfiltern der Nummer aus einem String wie "$F$7" ist überflüssig:

PHP:
tell document 1 of application "Microsoft Excel"
	set searchString to "Irgendwas"
	set myRange to (find (range "A1:E10" of worksheet 1) what searchString)
	set myIndex to first row index of myRange
end tell

Frohes scripten
Farid


super.
danke
 
Zurück
Oben Unten