WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Aus Matlab Checkbox in Excel Datei aktivieren

 

heph0013
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.03.08
Wohnort: ---
Version: 7.2.0.232 (R2006a)
     Beitrag Verfasst am: 07.06.2010, 17:19     Titel: Aus Matlab Checkbox in Excel Datei aktivieren
  Antworten mit Zitat      
Hallo,

ich muss mit Matlab eine Checkbox in Excel aktivieren, hab aber leider kein Plan wie...
Ich arbeite schon mit dem dem "actxserver" (zellen auslesen, schreiben, letzte finden,...) aber irgendwie finde ich keine Möglichkeit eine Checkbox zu aktivieren.

Im Moment sieht das ganze so aus:
Code:

Dat_Name='C:\Matlab\heph0013.xlsm';

% Excel "server" starten und handle dazu anlegen
Hand.exl=actxserver('Excel.Application');
 
% Handle zu den Dateine erzeugen
Hand.Dateien=Hand.exl.Workbooks;

% Datei Öffnen und Handle dazu erstellen
Hand.TSR_Filter=Hand.Dateien.Open(Dat_Name);

% handle zu den sheets erzeugen
Hand.sheets=Hand.exl.ActiveWorkbook.Sheets;  

% handle zu sheet 1 bis 5 erzeugen
for lauf=1:5
    eval(['Hand.sheet_',num2str(lauf),' = get(Hand.sheets,',char(39),...
        'Item',char(39),',',num2str(lauf),');'])
end
 

und nun soll die Checkbox "chkNurJuengsteAV" im Sheet 4 aktiviert werden (= true).

Kann mir da einer Helfen. Eventuell auch nur eine Seite auf der erklärt ist wie die Strukturierung der actxserver Befehle im Bezug auf Excel ist?


Vielen Dank schon mal im Voraus

Gruß heph0013
Private Nachricht senden Benutzer-Profile anzeigen


heph0013
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.03.08
Wohnort: ---
Version: 7.2.0.232 (R2006a)
     Beitrag Verfasst am: 08.06.2010, 11:22     Titel:
  Antworten mit Zitat      
Also wenn es da Fragen oder Unklarheiten gibt nur raus damit!

Oder weiß das keiner? - Kann ich mir ja nur kaum vorstellen.

Ich werd doch net der Erste Mensch sein der sowas macht...

Gruß heph0013
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 08.06.2010, 14:24     Titel:
  Antworten mit Zitat      
Hallo

Ehrlich gesagt, habe ich nie gemacht.
vielleicht hilft dir dieses Beispiel:
Code:

excel          = actxserver ('Excel.Application');
excel.Visible  = false;
wb             = excel.workbooks.Open('C:\temp\checkbox.xls');
ws             = excel.sheets;

% sheet auswählen
target_sheet   = get(ws,'item','Box');
%
% checkbox markieren
target_sheet.OLEObjects('CheckBox1').Object.Value = true;

wb.Save;

wb.Close(false);
excel.Quit;
delete(excel);
 


PS: Da COM eine gemeinsame Schnittstelle, schaue dir auch andere Quellen wie VBA an, dort gibt es mehr Beispiele

checkbox.xls
 Beschreibung:

Download
 Dateiname:  checkbox.xls
 Dateigröße:  19.5 KB
 Heruntergeladen:  463 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
heph0013
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.03.08
Wohnort: ---
Version: 7.2.0.232 (R2006a)
     Beitrag Verfasst am: 08.06.2010, 16:32     Titel:
  Antworten mit Zitat      
Wow super genau das habe ich gesucht!

Funktioniert!

Bei den OLEObjects war ich schon mal, aber irgendwie hatte es da bei mir nicht funktioniert...

Danke

Gruß heph0013
Private Nachricht senden Benutzer-Profile anzeigen
 
heph0013
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 17.03.08
Wohnort: ---
Version: 7.2.0.232 (R2006a)
     Beitrag Verfasst am: 08.06.2010, 16:50     Titel:
  Antworten mit Zitat      
Hinweis:

Bei mir hat es erst funktioniert als ich den Wert nicht auf "true" sondern auf "1" gesetzt habe:
Code:

% checkbox markieren
target_sheet.OLEObjects('CheckBox1').Object.Value = true;
 

Gibt zwar mit "true" keine Fehlermeldung aber er erkennt das nicht als 1 sondern setzt den Value auf "NaN".

Gruß heph0013
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 08.06.2010, 17:20     Titel:
  Antworten mit Zitat      
Guter Hinweis,
aber das liegt vermutlich an unterschiedlichen Matlab-Versionen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.