Welcome to MSDN Blogs Sign in | Join | Help

Haben wir jetzt nach den sog. Browser-Krieg einen solchen um Office-Dateiformate? Im näheren sowie weiteren Umfeld dieses Schauplatzes kommt es zu diversen Äußerungen beteiligter und natürlich auch unbeteiligter Personen in Bezug auf Kompatibilität, Umfassendheit und überhaupt.

Klar, ODF wurde für OpenOffice 1.1 entwickelt, während das Microsoft Office Open XML File Format (der Einfachheit halber hier als MOOX bezeichnet) natürlich für Microsoft Office 2007 entwickelt wurde. Auch werden derzeit ODF-Konverter entwickelt, und zwar von beiden Seiten. Von Microsoft gibt es ein OpenSource Projekt auf SourceForge. Die OpenDocument Foundation hat ein eigenes Plugin für Microsoft Office entwickelt, das das Speichern im OpenDocument-Format ermöglichen soll. Ich konnte aber bisher keine Information finden, daß das Plugin schon irgendwo verfügbar ist.
Aber werden wir deshalb vollständige Microsoft-Office-Dokumente als ODF abspeichern können? Nein. Es wird etwas fehlen. Dinge wie beispielsweise Funktionen in Zellen von Excel-Tabellen, Tabellen in Powerpoint-Slides bzw. internationale Unterstützung (Numerierung, Formatierung, etc.) sind in ODF nicht enthalten. jedenfalls nicht in der zur Standardisierung eingereichten Version. Wenn es also okay ist, daß beim (Wieder-) Öffnen statt der Formeln nur noch die Werte der letzten Berechnung in den Zellen stehen, fein. Ansonsten bietet MOOX die besseren Möglichkeiten.

Brian Jones, seines Zeichens Program Manager für Office und verantwortlich für das Open XML File Format, schreibt in seinem Blog über ein paar dieser nicht so ganz wahren Behauptungen.

Beispielsweise ist in einem Press Release auf der ISO Webseite zu lesen:

"Billions of existing office documents will be able to be converted to the XML standard format with no loss of data, formatting, properties, or capabilities."

Das kann sich nicht auf Microsoft Office Dokumente beziehen, wie wir oben schon gesehen haben. Aber gibt es denn so viele OpenOffice-Dokumente?
MOOX ist derzeit noch bei der ECMA zur Standardisierung, bevor es zur ISO gehen kann. 4000 Seiten Spezifikation dauern wohl auch etwas länger als die nicht ganz 800 Seiten für ODF.

Wir haben uns jedenfalls auf die Fahnen geschrieben, alle Features, die Microsoft Office unterstützt, auch im Format ablegen zu können, und zwar editierbar nach dem erneuten Öffnen.

Kann es zwei Standards geben? Wieso nicht. Hauptsache, sie erfüllen Ihren Zweck und bleiben auf lange Zeit lesbar - unabhängig vom Hersteller. Und das ist bei XML wohl doch gegeben, oder?

 

Was tut Microsoft, nachdem Beta 2 von Office 2007 frei verfügbar ist? Noch ein paar Bugs fixen und dann ab zum Kunden? Natürlich nicht, denn Qualität steht mehr denn je im Mittelpunkt. Und Qualität steht hier auch für Bedienbarkeit. Jensen Harris , Program Manager im UI Team, bloggt über die kleinen Änderungen und deren Warum.

U.a. beschreibt er auch, daß die finalen Icons der Office Programme jetzt fest stehen.

Na, wer weiß, welches Icon zu welchem Office Programm gehört? Einige sind ja relativ einfach, andere aber nicht auf den ersten Blick zu erkennen, oder?

Der erste, welcher mir die korrekte Antwort schickt (von links oben nach rechts unten gelesen), bekommt ein Exemplar des Buches "Debugging Applications for Microsoft .NET und Microsoft Windows" von John Robbins

Interessant sicher auch die Devise des Design Teams:

People spend more time with Office than the love of their life. Since thats a big sacrifice, we want our customers to love using Office. That means we spend time listening, sharing, building relationships, generating innovative ideas, and designing with our customers. The end result is software that our customers want to wrap their arms around and kiss.

 

“Should we consider using Office 2007 as a rich-client platform?” fragte sich eine US Firma und wandte sich an Forrester Research Inc.  John R. Rymer, seines Zeichens Vice President von Forrester, interessierte dieses Thema selbst und so machte er sich daran, Material zusammen zu tragen und in einen Bericht zusammen zu fassen.

Einige Key Points:

  • With Office 2007, Microsoft begins to dramatically expand its development platforms by including Office, as well as its Windows servers. Office 2007 supports an important, though limited, range of application scenarios, and there is much more coming during the next several years. These new facilities give developers more options to customize and configure, rather than custom-build the user interfaces for their Windows applications.
  • The prospect of business applications that  employ Outlook, Excel, and/or Word as their user interfaces is very exciting to developers who want to focus on business processes, transaction processing, content management, and other back-office value rather than building user interfaces. Millions of enterprise users already have and understand the major Office applications and would rather use those applications for enterprise work than new, often complex and arcane desktop or Web clients.
  • In Forrester’s experience, the majority of the Microsoft developer community works with Microsoft’s base platforms and Visual Studio tools and views Office as an add-on, while a smaller community sees Office as the Microsoft development platform. Microsoft’s goal is to make Office a first-class component of a broad “application platform” alongside .NET Framework, SQL Server, SharePoint Server, and BizTalk Server.
  • Office 2007 seems well suited to team applications for moderate- to large-scale document management applications.

Meiner Meinung nach werden von Ihren Kunden immer mehr Rufe nach Office-Integration zu erwarten sein und in einigen Jahren verkauft sich eine Business-Anwendung ohne vielleicht weniger gut.

Wenn Sie heute schon dabei sein und Software auf Basis von Office 2007 entwickeln wollen, dann unterstützen wir Sie dabei. Was Sie als Microsoft Partner brauchen, ist ein konkretes Projekt und der Wille, mit Beta-Software Projekte zu realisieren. Wir sorgen dann für die nötige Unterstützung in Form von Entwickler-Trainings und Beta-Support. Und wer weiß, vielleicht sind Sie mit Ihrer Lösung aiuf Basis des 2007 Microsoft Office Systems sogar beim offiziellen Launch der Produktes dabei.

Interessiert? Dann melden Sie sich bei uns per mail an dpe_de06 [at] microsoft.com.


 

Okay, I'm just kidding ...

... aber steckt nicht in jedem von uns, der einigermaßen von der GADGETomanie befallen ist, der Wunsch, einen Roboter ala R2D2 oder den endlos quasselnden C3PO - die blechernen Helden aus der Star Wars Saga - zu besitzen, oder noch besser - zu bauen?

Leider war das bisher meist nur ein entfernter Traum, den die wenigsten auch nur ansatzweise realisieren konnten. Microsoft versucht nun, die Distanz zu diesem Traum zu verringern. Nein, wir haben nicht Lucas Arts gekauft, sondern von unserer Grundlagenforschung profitiert.

Microsoft beschäftigt sich auch mit Robotern, genauer gesagt mit Robotics. Microsoft Research, die Forschungsabteilung im Hause Microsoft, bastelt schon seit einiger Zeit an dem Thema.

Und das Ergebnis der ganzen Forschung ist Microsoft Robotics Studio, welches es nun als Community Preview gibt. Auf Basis der PhysX Engine von AGEIA (welche auch Roboter Hardware herstellt) können Simulationen mit Roboter Modellen gefahren werden. das Ganze dann natürlich auf Basis von Visual Studio, d.h. man kann komfortabel mit C# oder VB.NET programmieren.

Es gibt wohl noch nicht den entsprechenden Markt dafür, aber das Thema hat Potenzial. Und wer weiß, vielleicht hilft uns ja in ein paar Jahren unserer eigener Roboter beim Haushalt oder gar beim Programmieren. Wenn Sie bis dahin nicht untätig herumsitzen wollen, dann ist Robotics Studio vielleicht eine Möglichkeit, die Zeit zu überbrücken.

 

We've just launched a very cool contest that challenges developers around the world to design Office business applications that support non-profit organizations and encourages them to learn more about the 2007 Microsoft Office system at the same time.
 
The contest is called Develop without Borders.  It was developed as a joint effort between IW and DPE with support from Hewlett Packard and offers over $150,000 in prizes.

The concept is simple: Developers choose a charitable organization that they would like to help, understand the business challenges that it faces, and propose a solution based on the 2007 Office system that addresses one or more of those challenges. The solutions that make the most impact on the organization and that best utilize the Office system technologies can win up to $50,000 to help pilot or implement the solution.
 
We think this combination of education and doing something positive for the world is an exciting approach and would appreciate any help you can provide in making it a success.

Why do I start blogging in english? Simply because this is a chance for every developer in the world to do something good and charitable and I want to spread the word as wide as possible.

 

Haben Sie sich schon immer gewünscht, auf einen Blick zu sehen, ob die Voraussetzungen für eine VSTO (Visual Studio Tools für Office) Solution auf dem Client gegeben sind? Ob die richtige Runtime installiert ist oder die PIAs? Dann ist jetzt ein Ende des mühsamen Suchens da. Der Microsoft Support hat ein internes Tool veröffentlicht, womit derartige Informationen schnell und auf einen Blick bereitgestellt werden.

 Hier gibt es das Tool zum Download.

Derzeit nur für VSTO 2.0 oder 2005, aber wir erwarten solch ein Tool auch für VSTO "Orcas" "v3".

 

Wegen verstärkter Nachfrage hier die Info bzgl. ClickOnce Deployment und Proxy Authentication. Es kommt zu einem Fehler beim Download der Dateien. Im Protokoll kann man nachlesen:

Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich.

Es gibt dafür einen Hotfix beim Microsoft Support (bekommt man leider nur über anrufen). Allerdings funktioniert das nur mit den "default credentials", also ohne Paßwort-Eingabe.

Man kann als Ausweg versuchen, evtl. vorher auf die Webseite zu navigieren, Username und Paßwort einzugeben und die Frage "Remember my password" zu bestätigen, was aber nicht sonderlich zufriedenstellend ist.

Configuration Issues in ClickOnce Deployments

 

Eine kurze Ankündigung möchte ich hier loswerden. Mein Kollege und IT-Pro Evangelist Steffen Krause hält am Donnerstag, dem 13.07.2007 um 15:30 einen WebCasts zum Thema "Business Intelligence mit Excel 2007 und den Excel Services von Office SharePoint Server 2007 - Geschäftsdaten unternehmensweit veröffentlichen und nutzen". Sicherlich interessant für jeden, der Office Integration in irgendeiner Art anvisiert.

Zu den Details und der Anmeldung geht es hier.

 

In einem älteren Blog-Eintrag hatte ich schon einmal davon berichtet, wie man sich das Manifest aus einer dokumentzentrischen VSTO-Lösung herausziehen kann. Warum man das braucht? Ganz einfach. VSTO geht davon aus, daß die Customization Assembly und das Dokument im gleichen Ordner liegen. Beim Anlegen einer dokumentzentrischen VSTO-Lösung in Visual Studio wird in das Dokument ein Manifest geschrieben, in dem der Pfad zur und der Name der Assembly hinterlegt wird. Will man jetzt bspw. das Dokument auf dem SharePoint ablegen und die Assembly zentral auf einem Server zur Verfügung stellen, so muß der Pfad angepaßt werden. Dazu gibt es die ServerDocument Klasse in VSTO.

Oder aber ein Tool auf MSDN: Der Application Manifest Editor. Dazu gibt es einen Artikel im Developer Center.

Der Editor liegt im Quellcode vor (C#) Leider haben sich im Code ein paar Fehler eingeschlichen.

So müßte es im Handler importManifestToolStripMenuItem_Click statt
  
document = new ServerDocument(documentPath, true)
nun
   document = new ServerDocument(documentPath);
heißen.

Desweiteren sollte in Utilities.cs unter internal interface IStorage der out-Parameter der beiden folgenden Methoden von Typ UCOMIStream in ComTypes.IStream geändert werden:

  [PreserveSig]
  
int CreateStream([MarshalAs(UnmanagedType.LPWStr)] string wcsName,
              STGM grfMode,
              int reserved1,
              int reserved2,
              out ComTypes.IStream stream);  

  [PreserveSig]
  int OpenStream([MarshalAs(UnmanagedType.LPWStr)] string wcsName,
              IntPtr reserved1,
              STGM grfMode,
              int reserved2,
              out ComTypes.IStream stream);

Damit kann man das Projekt unter VS 2005 korrekt übersetzen. Es ergibt eine Console Applikation + User Interface und man kann Manifests auslesen, ändern und abspeichern sowie DataIslands - also im Dokument gespeicherte Daten - ansehen.

Das Tool funktioniert mit VSTO 2.0 / Office 2003 und (zumindest bei mir) auch mit dem Juni CTP von VSTO 3 und Office 2007.

 

Als kleinen Nachtrag zum gestrigen WebCast möchte ich hier  kurz auf den Sourcecode eingehen. IT Department sei Dank hatten die Teilnehmer des WebCasts ja die Gelegenheit, „SMS in Action“ zu erleben, als nach einem Update mein Rechner neu gestartet wurde.  Ich glaube, es wird wohl nie eine allgemeine Freundschaft zwischen Entwicklern und Administratoren aufkommen. Wir sind da wohl doch zu verschieden. ;-)

Doch zurück zum Wesentlichen, dem Open XML File Format, welches ja bekanntlich Einzug hält in die Geschichte von Office. Die Version 2007 bringt dieses Format als Standard für Excel, Word und Powerpoint.  Mit Hilfe von System.XML und System.IO.Packaging (WinFx bzw. .NET Framework 3.0) können Entwickler dieses Format für sich nutzen.

Für viele der Zugriffe benötigen wir Schemainformationen. Diese sind nicht schwer zu finden: Die entsprechende Datei in *.ZIP umbenennen und öffnen. Im Ordner docProps befindet sich core.xml:

Wir ziehen uns also nur die Namespaces heraus, in deren Zuständigkeit die benötigten Dokumenteigenschaften fallen. Die benötigen wir, um unseren Namespacemanager zu füttern, der uns wiederum die Arbeit erleichtert. Wir könnn danach nur noch mit den Kürzeln arbeiten, wenn wir XPath Expressions angeben müssen. Aber dazu weiter unten.

private const string corePropertiesSchema =

  "http://schemas.openxmlformats.org/package/2006/metadata/core-properties";

private const string dcPropertiesSchema =

  "http://purl.org/dc/elements/1.1/";

Hier en Beispiel zu Lesen von Document Properties beliebiger Dateien der o.g. Programme:

private void GetDocProps(string fName)

{

  Package pack = Package.Open(fName, FileMode.Open);

  XmlDataDocument xdoc = new XmlDataDocument();

  Uri uri = new Uri("/docProps/core.xml", UriKind.Relative);

  PackagePart packPart = pack.GetPart(uri);

  xdoc.Load(packPart.GetStream(FileMode.Open));

 

  XmlNamespaceManager nsmgr = new XmlNamespaceManager(xdoc.NameTable);

  nsmgr.AddNamespace("cp", corePropertiesSchema);

  nsmgr.AddNamespace("dc", dcPropertiesSchema);

 

  XmlNode xn;

  xn = xdoc.SelectSingleNode("cp:coreProperties/dc:title", nsmgr);

  if (xn != null)

    tbTitle.Text = xn.InnerText;

 

  pack.Close();

}

Zum Schreiben ist der komplette erste Teil von oben zu übernehmen, nur müssen wir jetzt erst mal schauen, ob der entsprechende Knoten überhaupt in der XML-Datei zu finden ist. Wenn nicht, so müssen wir den erzeugen und an das Dokument anhängen.

...

XmlNode xn;

xn = xdoc.SelectSingleNode("cp:coreProperties/dc:title", nsmgr);

if (xn != null)

  xn.InnerText = tbTitle.Text;

else

{

  xn = xdoc.CreateElement("dc", "title", dcPropertiesSchema);

  xn.InnerText = tbTitle.Text;

  xdoc.DocumentElement.AppendChild(xn);

}

using (Stream infoStream = packPart.GetStream(FileMode.Create, FileAccess.Write))

{

  xdoc.Save(infoStream);

}

pack.Close();

System.IO.Packaging bietet uns aber zum Lesen der Document Properties eine Abkürzung an: PackageProperties. Damit geht das Lesen bzw. Schreiben flott von der Hand:

private void GetDocProps(string fName)

{

  using (Package pack = Package.Open(fName, FileMode.Open))

  {

    tbTitle.Text = pack.PackageProperties.Title;

    tbAuthor.Text = pack.PackageProperties.Creator;

  }

}

private void SetDocProps(string fName)

{

  using (Package pack = Package.Open(fName, FileMode.Open))

  {

    pack.PackageProperties.Title = tbTitle.Text;

    pack.PackageProperties.Creator = tbAuthor.Text;

  }

}

Leider haben wir nicht immer so viel Glück und müssen andere Document Parts mühsam Stück für Stück aus dem Dokument herausholen. Hier als nächstes ein Beispiel, wie aus einem Word-Dokument alle enthaltenen Bilder herausgeholt werden. Dazu müssen wir zuerst einmal den Haupt-DocumentPart heraus ziehen und in dessen Beziehungen alle Image Relationships holen. Die Informationen stehen im relativen Pfad \Word\_rels\document.xml. Im Bild zu sehen ist rId4 eine Bildbeziehung und verweist im Attribut Target auf das Ziel.

 

Die benötigten Namespaces ziehen wir uns wieder heraus:

private const string documentRelationshipType =

  "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";

ptivate const string imageRelationshipType =

  "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";

Nachdem wir wissen, wo die Bilder stehen, brauchen wir sie nur noch heraus zu holen. GetImagesFromDoc schreibt sämtliche Bilder auf eine Liste imageList und gibt sie zurück.

private List<Image> GetImagesFromDoc(string fName)

{

  Uri docUri = null;

  PackagePart docPart = null;

 

  using (Package xPack = Package.Open(fName, FileMode.Open, FileAccess.Read))

  {

    foreach (PackageRelationship relationship in xPack.GetRelationshipsByType(documentRelationshipType))

    {

      docUri = PackUriHelper.ResolvePartUri(new Uri("/", UriKind.Relative), relationship.TargetUri);

      docPart = xPack.GetPart(docUri);

      break;

    }

 

    string baseUri = docUri.OriginalString.Remove(docUri.OriginalString.LastIndexOf("/") + 1);

    Uri imageUri = null;

    PackagePart imagePart = null;

    List<Image> imageList = new List<Image>();

 

    foreach (PackageRelationship imageRel in docPart.GetRelationshipsByType(imageRelationshipType))

    {

      imageUri = new Uri(baseUri + imageRel.TargetUri, UriKind.Relative);

      imagePart = xPack.GetPart(imageUri);

      imageList.Add(Image.FromStream(imagePart.GetStream(FileMode.Open)));

    }

    return imageList;

  }

}

Das Open XML Format ist zwar offen, aber wir haben gesehen, es ist nicht unbedingt leicht, Teile herauszuholen bzw. wieder hinein u schreiben. Ein gehörige Portion XML-Kenntnisse ist schon vonnöten, gepaart mit dem nötigen Wissen um den Aufbau der Office-Dateien.
Das Beispiel verwendet übrigens eine Referenz auf WindowsBase.DLL aus WinFx (ich habe das Februar CTP), sowie System.Xml, System.IO.Packaging, System.Drawing und  System.Collections.Generic.

Weitere Informationen:

Introducing the Microsoft Office (2007) Open XML File Formats

2007 Office System Sample: Open XML File Format Code Snippets for Visual Studio 2005

 

Wenn Sie jetzt und heute mit dem Juni CTP von VSTO 3 und Office 2007 Beta 2 Ribbons erweitern wollen, brauchen Sie u.U. etwas Hilfe, was die Möglichkeiten überhaupt bzw. die Syntax anbetrifft. Um z.B. IntelliSense in Visual Studio für RibbonX XML Files zu bekommen, benötigen Sie derzeit noch das zugrunde liegende XML Schema (Schema Definition File), welches Sie einfach nur im aktuellen Projekt öffnen. Dann einfach ins Ribbon XML File wechseln und es geht los. Spitze Klammmer "<" eingeben und IntelliSense steht Ihnen zur Seite:

Wenn in Office eingebaute Tabs und Groups verwendet werden sollen, benötigen Sie die IDs und Namen derselben. Eine Liste der Control IDs der eingebauten Office-Elemente (Commands, Buttons, etc.) gibt es hier

Doch das Deklarieren des UI, also der Ribbon Tabs, Groups und Controls, ist nur die eine Seite. Irgendwann sollte über die eingebauten Controls auch Funktionalität erreichbar sein. Callback Handler wurden zwar im XML deklariert, müssen aber noch implementiert werden. Eine (vorläufige) Auflistung verfügbarer Callback Handler der Ribbon Controls für C#, VB.NET, C++ und VBA finden Sie hier.

Übrigens können mit RibbonX auch Befehle von Office überschrieben werden. dazu gibt es die <commands> Sektion:

Im Beispiel wird der Save bzw. Print Befehl überschrieben. Ein Callback Handler dafür könnte so aussehen:

Public Sub mySave(ByVal control As Office.IRibbonControl, ByRef CancelDefault As Boolean) 
   ' Do anything you like
   CancelDefault = True
End Sub

Über getEnabled wiederum kann gesteuert werden, ob das Element verfügbar sein soll:

Public Function getEnabled(ByVal control As Office.IRibbonControl) As Boolean
   Select Case control.Id
      Case "Save" : Return bSaveStatus
      Case "Print" : Return bPrintStatus
      ...
   End Select
End Function

bSaveStatus bzw. bPrintStatus sind hier entsprechende Flags, welche den gewünschten Zustand der eingebauten Funktion abbilden.

Über eine andere Routine (möglicherweise auch der Callback eines Buttons im Ribbon) wird dann Invalidate aufgerufen, welches das RibbonUI erneut setzt:

Public Sub EnableSave(ByVal control As Office.IRibbonControl)
   bSaveStatus =
True
   bPrintStatus = True

  
Me.ribbon.Invalidate()
End Sub

Public Sub DisableSave(ByVal control As Office.IRibbonControl)
   bSaveStatus = 
False
   bPrintStatus = False

  
Me.ribbon.Invalidate()
End Sub

Das Beste an der ganzen Geschichte ist, daß es nur an einer Stelle dem Host mitgeteilt werden muß und alle Vorkommen von Save oder Print sind automatisch überschrieben. Und noch besser: wird das zugrunde liegende Add-In entladen, verschwindet auch diese Beeinflussung der Standardfunktionalität - und zwar, ohne daß dafür "Clean Up" Code geschrieben werden muß. Das ist cool, oder?

 

 

Letzten Freitag wurde bekannt, daß WinFx nun die dritte Version des .NET Frameworks werden wird (Somasegar's WebLog).

Heute schon gibt es ein neues Resource Center für WCF (Windows Communication Foundation), WPF (Windows Presentation Foundation), WF (Windows Workflow Foundation) und CardSpace (formerly known as InfoCard).

.NET Framework 3.0 Versioning and Deployment Q&A

Whitepaper

 

Für kurzentschlossene .NET-Programmierer gibt es noch die Möglichkeit, am Donnerstag, dem 15.06.2006 (ja, ich weiß, es ist ein Feiertag in manchen Bundesländern Deutschlands), nach Zürich zu fahren und Neues über Office-System-Entwicklung zu erfahren, und zwar ausschließlich für die neue Version 2007. Die Palette ist vielfältig. In vier Power-Sessions erfahren Sie Neues zu Sharepoint als Entwicklerplattform, Workflows mit Office Server 2007, clientseitige Integrationsszenarien mit VSTO 3 und Business Inelligence-Lösungen mit Excel, Excel Services und SQL Server 2007.

Die Veranstaltung ist übrigens kostenlos und findet im World Trade Center in Zürich statt.
Ich werde auch dabei sein und VSTO 3 sowie das Office Open XML File Format vorstellen.

Zur offiziellen Webseite geht's hier bzw. zur Anmeldung hier.

 

Aufgrund des großen Kundenfeedbacks während und nach der Office Developer Conference im März hat sich Microsoft entschlossen, ein Zwischenrelease von VSTO auf Basis von Visual Studio 2005 bereit zu stellen.

Normalerweise ist VSTO an den Produktzyklus von Visual Studio gebunden, d.h. VSTO V3 kommt erst mit Visual Studio, Codename "ORCAS". Office 2007 wird aber schon Anfang 2007 in den Regalen stehen. Dazwischen klafft eine Lücke, die jetzt mit "Cypress" gefüllt wird.

Cypress soll für alle Entwickler mit einer VSTO 2.0 - Lizenz kostenlos verfügbar sein (WebDownload) und wird von Microsoft voll supportet.

Cypress wird ein AddOn für VS 2005 und Office 2007 sein und unterstützt:

  • Application Level Add-Ins für Excel, Word, PowerPoint, Outlook, InfoPath, Visio (AddIns mit AppDomain Isolation und Unterstützung für Office Security Levels > Medium)
  • RibbonX
  • TaskPanes
  • Outlook Form Regions

Die Beta soll im Sommer kommen. Ein CTP von VSTO 3 ist hier verfügbar.

K.D. Hallmann, GM des VSTO Teams, und Eric Carter (Dev Manager VSTO Team) über die Entwicklung von VSTO und Cypress:

Inteview von Channel 9

 

Ich war gestern auf dem Visual Studio Launchevent der .NET Usergroup Frankfurt in Bad Homburg und durfte mal wieder über Office-Programmierung mit .NET, VSTO und Office 2007 reden. Christian Weyer war auch mit von der Partie und erzählte ein wenig über die Windows Communication Foundation (formerly known as "INDIGO"). Übrigens, Christian, ich wußte nicht, daß Du neuerdings für newtelligence arbeitest? Dachte, das was ThinkTecture. Weiß die UG da schon mehr?

Es hat übrigens Spaß gemacht. Danke, Thomas, für die Einladung.

Meinen Vortrag über Office 2007-Programmierung finden Sie übrigens hier bzw. im neuen Open XML Format hier.

 

More Posts Next page »