|
|
makros mit m.file starten? |
|
snowtim |
Forum-Anfänger
|
|
Beiträge: 49
|
|
|
|
Anmeldedatum: 31.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2008, 08:25
Titel: makros mit m.file starten?
|
|
hi
kann ich von matlab aus im m.file makros in excel ausführen?
wenn ja wie starte ich sie?
und wie schließe ich sie?
|
|
|
|
|
unusual |
Forum-Anfänger
|
|
Beiträge: 21
|
|
|
|
Anmeldedatum: 27.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2008, 09:06
Titel:
|
|
Hey snowtim,
verwende folgenden Code zum Öffnen der Excel-Arbeitsmappe:
Code:
excel = actxserver('Excel.Application')
excel.Visible = 1
excel.Workbooks.Open('d:\Ordner\Datei')
Damit sollte die gewünschte Arbeitsmappe aufgehen.
Mit Öffnen einer Excel-Arbeitsmappe kannst Du ein Makro automatisch ausführen lassen.
Verwende folgendes:
sub Auto_Open()
VBA-Code
end sub
oder schau in der VBA Hilfe nach Workbooks.Open
Gruß
Timo
|
|
|
snowtim |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 49
|
|
|
|
Anmeldedatum: 31.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.04.2008, 09:48
Titel:
|
|
|
|
|
erstml danke,
hat mir auch weiter geholfen.
war einfach wirklich nur
sub auto_open()
call main
end sub
soweit geht es auch, wenn ich excel selber öffne startet alles.
nur über den m.file nicht. habe hier einen kurzen geschrieben der erst öffen soll und dann einfach einen wert hochzählen soll damit ich sehe das sich was tut.
-Makros sind auf aktiv geschaltet
-excel öffnet sich
- zählt den wert hoch
aber das makro geht nicht los.
% ActiveX Verbindung zu Excel aufbauen:
excel = actxserver('Excel.Application');
%
% Excel sichtbar machen (sonst kann es auch im Hintergrund laufen)
excel.Visible = 1;
%
% Dokument öffnen
excel.Workbooks.Open(fname);
%
x = 'Generatormodel';
% passendes Sheet activieren "Item(x)"
excel.ActiveWorkBook.Sheets.Item(x).Activate;
%
% Daten aus bestimmten Bereich auslesen
Messwert = xlsread(fname, x,'Messwert')
V=Messwert*10
while i<10
i=i+1
%um eine änderung zu sehen
V=V+10
% neue Daten übergeben
excel.ActiveSheet.Range('F6').Value = V
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|