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

Word Dokument erzeugen - Tabelle Formeleditor Alignment

 

Golom
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2012, 12:08     Titel: Word Dokument erzeugen - Tabelle Formeleditor Alignment
  Antworten mit Zitat      
Servus,

hab mal wieder ein Problem. Ich möchte über Matlab einen Report erzeugen der ein Word Dokument generiert. So weit klappt das alles. Nun möchte ich aber in einer Tabelle eine Formel schreiben und diese dann links ausrichten. Das klappt bis auf das ausrichten wunderbar.

Jemand ne Idee wie man über Matlab eine Formel in einer Tabelle ausrichten kann?
Wenn ich in Word einen Makro aufzeichne funktioniert die Ausrichtung über "Justification" allerdings gibts im Object in Matlab diese Eigenschaft nicht.
Word Makro Code:
Code:
Selection.OMaths(1).ParentOMath.Justification = wdOMathJcLeft


Matlab Code Bsp:
Code:
Word = actxserver('Word.Application');
Word.Visible = 1;
w = Word.Documents;
%Neues Dokument öffnen
op = invoke(w,'Add');
% Finde Ende des Dokuments und setze Initialpunkt
end_of_doc = get(Word.Activedocument.Content,'end'); %Speichert Endpunkt
set(Word.Application.Selection,'Start',end_of_doc); %Markiert von Aktuellem Punkt zu Endpunkt
set(Word.Application.Selection,'End',end_of_doc);
% Formeltext
Formel='a_max [1]';
% Tabelle erzeugen
range=Word.Selection.Range;
shapes=Word.Selection.InlineShapes;
Tabellengroesse=[1,2];
t=invoke(Word.ActiveDocument.Tables,'add',range,Tabellengroesse(1),Tabellengroesse(2)); %!!! t enthält bereits .Tables
t.Borders.InsideLineStyle=1;
t.Borders.OutsideLineStyle=1;
%t.Rows.Alignment=1;
% Zelle füllen
cell = t.Cell(1,1);
cell.Range.Text = Formel;
range_cell=cell.Range;
objrange=Word.Selection.OMaths.Add(range_cell);
objEq=objrange.OMaths(1);
objEq.BuildUp


Wenn ich nun eingebe:
Code:
objEq.ParentOMath.Justification =0;

kommt eine Fehlermeldung:
Zitat:
No appropriate method, property, or field ParentOMath for
class Interface.Microsoft_Word_14.0_Object_Library.OMaths.


Ich hab versucht die Eigenschaft mit addproperty() hinzuzufügen aber das klappt irgendwie nicht. D.h. die Eigenschaft erscheint nicht im Inspector und im Worddokument ändert sich auch nix.

PS: Um Word zu beenden:
Code:
% Quit MS Word
invoke(Word,'Quit');
% Terminate ActiveX:
delete(Word);
Private Nachricht senden Benutzer-Profile anzeigen


Golom
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 13.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.01.2012, 17:35     Titel:
  Antworten mit Zitat      
So habs jetzt vorübergehend mit einem VBA Macro umgesetzt.
(Also ein Worddokument mit Makro gespeichert, dieses dann über Matlab geöffnet, anstatt ein neues Dokument zu generieren, und dann den Macro in Matlab an entsprechender Stelle geladen

Code:
op=invoke(w,'Open',filename);


Code:
invoke(Word,'Run', 'Macro_Justification_Left');


Ich versteh nicht warum nicht alle Dokumenten Eigenschaften zur Verfügung stehen und vorallem wieso diese teilweise anders benannt werden. Das nervt tierisch, ansonsten ist ne Coole Sachen ...

Hat jemand ne Idee hat wies ohne Macro funktionieren könnte?
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.