Meine Anforderung ist, einen Inhalt aus Excel zu kopieren, die Terminal-App zu öffnen, den kopierten Inhalt in das Terminal einzufügen und auszuführen

344
Raja Shekar

Ich bin neu bei VB - also bitte führe mich [derzeit öffnet sich das Terminal, aber der Fokus bleibt immer noch in Excel. Ich möchte einen kopierten Wert in die Terminal-App einfügen. führe mich Jungs]. Ich verwende Excel für Mac 2011 [VB 14.1]

Einzufügender Code wird nicht in den folgenden Code geschrieben:

Code verwendet:

Sub Auto_Open()  Range("A1:A1").Select Selection.Copy  Externalapp = Shell("Macintosh HD:Applications:Utilities:Terminal.app:" & _ "Contents:MacOS:Terminal", vbNormalFocus) AppActivate Externalapp  End Sub 
1
Ich bin nicht mit der AppFocus-Funktion vertraut, aber ich habe nur Excel VBA unter Windows verwendet. Wie wäre es mit dem Literalwert 1 anstelle von vbNormalFocus? `Shell (" Macintosh HD: Anwendungen: Dienstprogramme: Terminal.app: Inhalt: MacOS: Terminal ", 1)` davidmneedham vor 6 Jahren 1
Funktioniert nicht: ` Raja Shekar vor 6 Jahren 0
Sub Macro2 () Externalapp = Shell ("Macintosh HD: Anwendungen: Dienstprogramme: Terminal.app: Inhalt: MacOS: Terminal", 1) End Sub Raja Shekar vor 6 Jahren 0
Verwenden Sie stattdessen die Funktion "AppActivate". davidmneedham vor 6 Jahren 0
Ich hatte auch Probleme mit einem externen Programm, das beim Ausführen einer Subprozedur aus dem unmittelbaren Fenster den Fokus verlor. Wenn es über das Menü in Excel ausgeführt wird, erzielen Sie möglicherweise bessere Ergebnisse. davidmneedham vor 6 Jahren 0
Meinst du das so? Externalapp = Shell ("Macintosh HD: Anwendungen: Dienstprogramme: Terminal.app:" & _ "Inhalt: MacOS: Terminal", vbNormalFocus) AppActivate Externalapp Raja Shekar vor 6 Jahren 0
Ja, das ist, was ich meine. Wenn dies nicht funktioniert, müssen Sie möglicherweise `AppleScript` oder` MacScript` versuchen. Ich empfehle Ihnen, Ihre Frage so zu bearbeiten, dass sie das, was Sie ausprobiert haben, und die von Ihnen verwendete Version von Excel (wahrscheinlich Excel 2011 oder Excel 2016) enthält. davidmneedham vor 6 Jahren 0
Ich habe den Inhalt aktualisiert. Freundlich helfen. Raja Shekar vor 6 Jahren 0

0 Antworten auf die Frage