Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-Skript<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein XLS (BigData.xls) mit Arbeitsmappenregisterkarten mit den Namen „USA“, „Kanada“ und „Irland“.
Ich habe ein Skript, das nur die Registerkarte Kanada öffnen/lesen muss.Gibt es dafür einen JMP-Skriptbefehl?Ich versuche zu vermeiden, die manuellen Dialoge zu verwenden, um die Registerkarte Kanada einzuziehen.
Danke!
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptDave, danke wie immer. Ich werde einen Teil dieses Codes ausleihen, um eine konsistente Leistung für die Varianten von v10 zu erzielen, die wir intern haben.
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptEine grobe (aber effektive) Methode, die ich in der Vergangenheit verwendet habe, bestand darin, die gesamte Arbeitsmappe unsichtbar zu öffnen und dann diejenigen zu schließen, die ich nicht wollte.Überprüfen Sie die Tabellen, die nach dem Öffnen vorhanden sind, im Vergleich zu denen, die zuvor geöffnet waren, und das gibt Ihnen die Namen der Arbeitsmappen in der Tabelle.
Wie Sie bemerkt haben, können Benutzereinstellungen ein Problem verursachen – hier ist ein Codemuster, das Sie für eine Einstellung erkennen, auf das, was Sie benötigen, einstellen und dann wiederherstellen können:
// preference to check
searchPref = "Excel Has labels";
// check the preference
prefs = Char( Get Preferences() );
p = Pat Match( prefs, searchPref + "(" + Pat Arb() >> strResult + ")" );
If ( p == 0,
Write( "!NFailed to find value for " || searchPref )
,
result = Parse( strResult );
Show( result );
);
// set it to what you want
Set Preferences(Excel Has Labels(2));
// do your stuff
Open(nsSFEPM:pathMDSS, invisible)
// restore the user preference
Eval(Parse(Eval Insert("\[
Set Preferences(Excel Has Labels(^result^));
]\")));
- Dave
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptIch habe das gerade im Code ausprobiert und einen anderen Benutzer dazu gebracht, es auch zu testen. Ich habe festgestellt, dass die Präferenzen des Benutzers Vorrang vor dem Argument der Funktion haben. In der JSL gebe ich an, welches Blatt geöffnet werden soll, aber wenn die Präferenz des Benutzers besagt, dass er aufgefordert werden soll, wird er aufgefordert! Dies scheint für die Verwendung der Funktion kontraintuitiv zu sein ...
[Bearbeiten] Mein Benutzer hat 10.0.0 und die Präferenz hat den Code überschrieben. Meine Maschine hat 10.0.2 und Code hat Vorrang. Natürlich habe ich in der Dokumentation "Was ist neu in Version 10.0.x" nichts über diese Funktion gesehen ...
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptIch habe das gerade heute gefunden (die Option Arbeitsblätter des Befehls Öffnen), was sehr hilfreich war. Es erschien jedoch nicht auf den Hilfeseiten der Anwendung, was hilfreicher gewesen wäre!
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptWährend die ältere Diskussion geholfen hat, war die Syntax nicht korrekt.Der Name des Arbeitsblatts muss in eckige Klammern eingeschlossen werden, und Sie müssen ein $ am Ende des Arbeitsblattnamens hinzufügen.Wenn meine Tabelle also das Arbeitsblatt mit dem Namen Demo hätte, lautet die korrekte Syntax:
FullyQualifiedFile = "c:\$user\ResearchData\FY2012.xls";
ODB_String = "DSN=Excel Files;DBQ=" || FullyQualifiedFile;
dt = Open Database(ODB_String,"SELECT * FROM [demo$]");
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptBei Verwendung von Open Database() anstelle von Open() können einzelne Blätter im SQL-String angegeben werden.
Schauen Sie sich diese ältere Diskussion an:
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptJMP 8.0.1
Irgendwelche Lösungsvorschläge?
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptEntschuldigung, ich hätte angeben sollen, dass diese Option in JMP 10 hinzugefügt wurde.
Verwenden Sie JMP 10 oder etwas früher?
-Jeff
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptHat nicht funktioniert.ALLE Arbeitsblätter öffneten sich, als ich spezifizierte Arbeitsblätter ( "klein" ) oder Arbeitsblätter ( {"Klein"} )
Betreff: Öffnen einer bestimmten XLS-Arbeitsmappe in einem JMP-SkriptSie können das Schlüsselwort Worksheets() verwenden:
open("C:\data\cars.xlsx", Worksheets("small"));
Importieren Sie mehrere Arbeitsblätter, indem Sie die Arbeitsblattnamen in Klammern einfügen:
open("C:\data\cars.xlsx", Worksheets( {"small", "medium", "large"} ));