MSDN Blogs
  • Office Development is more than VBA

    Zeit für Fotos

    • 1 Comments

    Nachdem der Haufen Arbeit nach meiner 1-monatigen Auszeit nun ziemlich aufgearbeitet ist, habe ich auch mal wieder etwas Zeit, über nichttechnische Themen zu schreiben. Im August haben wir unsere beiden Kinder bei den Großeltern abgeladen und sind für ein paar Tage nach Paris geflogen. Mit Fotoausrüstung natürlich. Da das Wetter am Tage nicht so toll war, habe ich die meisten Fotos nach dem Sonnenuntergang geschossen. Die Pyramide im Louvre ist dabei ein tolles Fotoobjekt, aber ein wenig groß, um einen Gesamteindruck zu bekommen. Also mehrere Fotos gemacht (hatte mein Mini-Stativ mit) und später zusammengestückelt.

    MS-Stiched01 Cylinder Vertical 

    Das Zusammenstückeln erwies sich als nicht so einfach. Canon Image Sticher hatte seine liebe Mühe mit der perspektivischen Verzerrung bei 28 mm Brennweite und man konnte ganz deutlich die Bildränder sehen. Links und rechts war an der Pyramide jeweils ein Knick zu finden, ebenso wie am Dach der Gebäude. Photoshop CS machte es dann schon besser, aber mit wesentlich mehr Aufwand. Fündig wurde ich dann bei ... hmm, das darf ich noch nicht verraten. Jedenfalls ging es super einfach: Bilder markieren, Modus einstellen, done. Das Ergebnis sieht man hier.

  • Office Development is more than VBA

    Nachtrag zum BASTA! - Vortrag zu VSTO 2008

    • 3 Comments

    VSTO 2008 wird all die Funktionalität von VSTO 2.0 und 2005 SE vereinen und dazu die noch fehlenden Stücke auffüllen.

    VSTO1

    Aus dem Blick des Visual Studio-Entwicklers sieht das dann so aus, jeweils für Office 2003 und 2007:

    VSTO2VSTO3

    Ziel dabei ist es, die Forderung von Anwendern nach modernen Arbeitsplätzen zu erfüllen, in denen der Zugriff auf benötigte Informationen nur einen Klick entfernt ist. Und zwar im Office-Programm, mit dem am meisten gearbeitet wird, anstatt in vielen kleinen (oder auch großen und unüberschaubaren) Tools mit vielen Copy & Paste Operationen dazwischen. Stichwort: Office Business Applikationen. Damit entwickelt sich Office zur Entwicklungsplattform und zum Dreh- und Angelpunkt unserer Vision von Software + Services. Die Software ist in diesem Fall Ihre Anwendung (i.d.R. ein Teil eines Full Clients), welche auf der Plattform Office läuft (und natürlich die Vorteile und Funktionalität der Hostanwendung nutzt) und welche Services konsumiert, die wiederum von Serversystemen wie z.B. SAP zur Verfügung gestellt werden.

    Folgende Kernfunktionalität wird zur Verfügung gestellt:

    VSTO4

    VSTO stellt damit eine RAD (Rapid Application Development) Plattform für professionelle Office-Entwickler dar. Noch nie war es so einfach, mit VB oder C# Office-Anwendungen zu entwickeln.

    Visuelle Designer für Ribbon und Outlook Form Regions erlauben schellste Erstellung der Oberfläche.

    Das Hinzufügen von TaskPanes (Aufgabenleisten, sowohl per Dokument als auch per Applikation) beschränkt sich auf eine Zeile Code.

    Sie können .NET Erweiterungen (Funktionen, Methoden) schreiben und diese in VBA nutzen und umgekehrt.

    SharePoint Workflow Support (Designer der Workflow Foundation für SharePoint) reduziert die Anzahl der notwendigen Schritten auf 3, was die Entwicklungszeit drsatisch reduziert.

    An Content Control in Word können .NET Datenquellen gebunden werden, ohne eine Zeile Code schreiben zu müssen.

    Und zu guter letzt bekommen wir 100%iges ClickOnce Deployment mit automatischen Updates (konfigurierbar), was uns gleichzeitig von der Notwendigkeit befreit, CAS Policies ausrollen zu müssen. Statt dessen wird die Solution mit einem digitalen Zertifikat signiert und auf den Zielmaschinen eine sog. Trusted Chain aufgebaut (Zertifikat in Trusted Publishers, Zertifikat des Herausgebers in Trusted Root).

     

    VSTO5
    VSTO Ribbon Designer

    Das Beste von allem: Es gibt keine solchen Versionsverknotungen und Mißverständnissen von bei früheren Versionen. VSTO 3.0 ist in Visual Studio (ab Professional Edition) enthalten.

    Desweiteren laufen lösungen, die mit VSTO 2.0 oder 2005 SE geschrieben wurden, auch weiterhin unter der Runtime von VSTO 2008.

     

    Links:

    VSTO Help Search

    VSTO Forum

    VSTO Developer Center

    VSTO 2005 SE

    Visual Studio 2008 Beta 2 Download

  • Office Development is more than VBA

    XTopia: Das Last Minute Angebot für Designer, Web-Entwickler und IT-Entscheider ...

    • 1 Comments

    XTopia

  • Office Development is more than VBA

    Nachtrag zum BASTA!-Vortrag "LINQ Framework"

    • 0 Comments

    Es existiert eine große Kluft zwischen Programm-Logik, die in einer Hochsprache geschrieben wurde und den Daten, mit denen wir arbeiten. Je mehr Daten wir zu verarbeiten haben, umso weiter ist die Entfernung von unserem Programm.

    In Hochsprachen wie C# oder VB benutzen wir spezialisierte Datentypen, Objekte, Methodenaufrufe und hochgradig optimierte Compiler, während beim Datenzugriff alles auf ein paar Strings reduziert wird, die die SQL-Abfragen beinhalten. Wir werfen all die Vorteile über Bord, wenn wir sie am nötigsten brauchen.

    Als Programmierer in diesem Dilemma müssen wir fit sein in zwei total unterschiedlichen Paradigmen (Syntax von SQL und der bevorzugten Programmiersprache) und zwei unterschiedlichen Typsystemen. Wir konvertieren also ständig Daten zwischen zwei verschiedenen Domänen. Wir sind gezwungen, ständig in zwei verschiedenen Richtungen zu denken. Diese Unstimmigkeit ist Ursache für menschliche Fehler und verschwendete Zeit.

     LINQ0

    Ist das ein Angriff auf SQL? Nein, das soll es nicht sein. SQL ist sehr ausdrucksstark, wenn es darum geht, große Mengen von Daten zu filtern, organisieren oder irgendwie aufzubereiten.

    Aber wie wäre es, wenn wir diese Ausdrucksstärke von SQL näher an unsere Programm-Logik bringen könnten? Wenn wir diese konzeptuelle Distanz verringern könnten? Und an dieser Stelle kommen wir zu LINQ (Language Intergrated Query). LINQ bringt diese beiden Welten zusammen.

    LINQ arbeitet (lokal im Speicher) gegen alles, was IEnumerable implementiert, sowie in Remote-Szenarien gegen das IQueryable Interface. Im ersten Fall werden direkt die Ojekte manipuliert, im letzten wird ein im Speicher abgebildetes Objektmodell in eine Abfragesprache umgesetzt, welche das Ziel verstehen kann (SQL bei LINQ to SQL)

    LINQ

    Hier noch eine Auflistung der neuen Sprachfeatures, die in LINQ aufgehen. Unten sieht man schön die Extension Methods, in die die Query Expression aufgelöst wird.

    LINQ2

    Fazit:

    Object == Data: LINQ behandelt Daten und Objekte gleich, die riesige Distanz wurde erheblich verringert.

    Imperativ --> Deklarativ: Statt dem Compiler Schritt für Schritt zu sagen, wie er etwas tun soll, sagen wir nur noch, was wir am Ende erwarten

    Und das funktioniert gegen Objekte, relationale Daten und XML

     

    Links und Code-Beispiele:

    The LINQ Project
    http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx

    .NET Language-Integrated Query for XML Data
    http://msdn2.microsoft.com/en-us/library/bb308960.aspx

    Scott Guthrie's Blog:
    http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
    http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql-part-2-defining-our-data-model-classes.aspx
    http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx
    http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx
    http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx
    http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx
    http://weblogs.asp.net/scottgu/archive/2007/08/23/linq-to-sql-part-7-updating-our-database-using-stored-procedures.aspx
    http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx
    http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx

  • Office Development is more than VBA

    Save the date: 19. - 21. Februar 2008

    • 1 Comments

    Denn dann werden wir den größten Launch Event aller Zeiten hinlegen. 3 Tage voller technischer Sessions und vieler Informationen rund um

    • Visual Studio 2008
    • Windows Server 2008
    • SQL Server 2008
    • Visual Studio Team System 2008

    Dazu gibt es exklusiv für die Teilnehmer Vollversionen unserer neuen Produktversionen (NFR - Not for Resale). Melden Sie sich also gleich an, denn die Kapazitäten sind begrenzt.

    Parallel dazu gibt es ebenfalls in Frankfurt die deutsche SharePoint Konferenz 2008. Der Link zur Anmeldung ist der gleiche.

    Wir sehen uns in Frankfurt.

    Ready4Takeoff

  • Office Development is more than VBA

    Eine super Sammlung von VSTO Ressourcen ...

    • 1 Comments

    ... wie Downloads, Webcasts, Channel9 Videos, Demos, Labs, Whitepapers, ... findet man hier.

    Sehr hilfreich.

  • Office Development is more than VBA

    Open XML noch kein ISO Standard

    • 4 Comments

    Nach der Standardisierung des Open XML Formats durch die ECMA im letzten Jahr hat die ISO (bzw. deren stimmberechtigte Mitglieder) Open XML an die Initiatoren zurückgegeben. Dazu gab es eine Liste von Kommentaren, die aussagen, dass sich das Stimmverhalten der kommantarabgebenden Nationen ändern könnte, wenn der Inhalt dieser Kommentare adressiert wird, sprich Änderungen am Format vorgenommen werden.

    Die Auszählung ergab 53% positive (>=66,66% nötig) und 26 % negative Stimmen (<=25% nötig).

    Eine grafische Aufbereitung des Ergebnisses ist hier zu finden. Das ISO Press Release hier.

    Eine Annahme eines Antrags auf Standardisierung erfordert mind. zwei drittel Ja-Stimmen (Je Land eine Stimme) der sog. "P Members" (Members participating in ISO/IEC JTC 1) und nicht mehr als 25% Nein-Stimmen insgesamt.

    Was heißt das nun? Open XML bleibt vorerst eine technische Spezifikation, da der sog. FastTrack Prozeß ohne die erforderliche Zustimmung blieb. Microsoft hat nun bis voraussichtlich März 2008 Zeit, die Kommentare einzuarbeiten und die resultierenden Änderungen erneut vor zu legen (Ballot Resolution Period).
    Es hat sich gezeigt, daß Open XML eine breite Unterstützung erfährt und wir sind optimistisch, daß im März die Entscheidung zugunsten von Open XML ausfällt.

    Was heißt das jetzt technisch gesehen? Es wird wohl gewisse Änderungen am Format geben, die nach efolgreicher Annahme als Standard im nächsten Jahr in schon bestehende Anwendungen eingearbeitet werden müssen. Die bestehenden Konverter werden beide Versionen lesen, aber nur noch die neue schreiben können müssen. Die ECMA wird die Änderungen ebenfalls aufnehmen müssen. Was genau erfolgen wird, werden die nächsten Monate zeigen.

    Ich finde es schade, dass dieses Thema so sehr in einen politischen Schlagabtausch ausartete und nicht auf sachlich technischer Ebene geführt wird.

    Anmerkung: Ich weiß, das dieses Ergebnis Open XML Opponenten zum frohlocken verleitet. Daher die Bitte, pubertäre Äußerungen dazu in den Kommentaren zu diesem Post zu unterlassen. Ich werde nur konstruktive Kommentare veröffentlichen.

  • Office Development is more than VBA

    Korrektur des dot.net Magazin-Artikels "Paketschieber"

    • 0 Comments

    In der Ausgabe 10.07 des dot.net Magazins wurde leider von den Redakteuren des Verlags ein Teil meines Artikels (Office Lösungen auf der Basis von VSTO 2007 richtig paketieren und ausliefern) "verschlimmbessert". Da heißt es auf Seite 25 in Spalte 3, der Windows Installer könne die Registry-Einträge automatisch nach HKLM umsetzen, wenn er die Installation für alle Benutzer erkennt. --- Fast. Man muß ihm das nur sagen.
    Außerdem ist wohl die Einschränkung bzgl. Add-Ins für alle Benutzer und Office 2007 unter den Tisch gefallen.

    Korrekt sollte es so heißen:

    Noch mehr Hilfe kommt bei den Registry-Einträgen für Add-Ins (Abb. 1). Ja, es müssen leider noch welche geschrieben werden, weil Office in guter alter COM-Technologie programmiert worden ist und Erweiterungen auch in eben dieser erwartet. Aber keine Angst, um COM Interop braucht sich dank VSTO niemand mehr zu kümmern. Nur die Kommunikation mit Office, also welches Add-In für welches Programm bereit steht, lesen die Office-Programme aus der Registry – so wie auch ClassID, ProgID usw. Die gesamte Arbeit nimmt einem der automatisch ablaufende Wizard ab. Nun könnte allerdings eine Frage aufkommen: Alle Einträge stehen unter HKCU. Was ist bei einer per Machine Installation? Muß dann alles selbst eingetragen werden? Nein. Man kann den gesamten Registry-Baum von HKCU nach „Machine/User Hive“ verschieben, was dazu führt, daß je nach ALLUSERS Property die Einträge entweder in HKCU oder HKLM geschrieben werden. So einfach ist es aber nicht.

    Während Office 2003 noch systemweite VSTO Add-Ins erlaubt, werden diese von Office 2007 nicht mehr geladen. Office 2007 setzt das Flag für das Ladeverhalten (LoadBehavior) solcher Add-Ins zurück auf 0. Der Grund dafür ist in erhöhten Sicherheitsstandards zu suchen. Da der normale Anwender keinen Schreibzugriff auf HKLM hat, kann er auch das Ladeverhalten des Add-Ins nicht beeinflussen und damit auch nicht wählen, ob er es verwenden will oder nicht. Shared Add-Ins (COM Add-Ins, die direkt gegen IDTExtensibility2 gehen) sind davon nicht betroffen.

    Office 2007 arbeitet enger mit VSTO zusammen als alle Versionen vorher und lädt VSTO-Add-Ins schneller, wenn es einen Manifest Key in der Registry findet. VSTO 2.0 hat 2 Keys: ManifestLocation und ManifestName, VSTO 2005 SE nur noch einen: Manifest. So kann Office auch zwischen beiden VSTO-Versionen unterscheiden.

     Desweiteren sind Launch Conditions keine Benutzerdefinierten Aktionen sondern Startbedingungen.

  • Office Development is more than VBA

    AUS-Zeit

    • 0 Comments

    Wenn ich im August keinerlei Fragen beantwortet oder auch sonst nicht reagiert habe, dann liegt das nicht daran, dass ich von allem die Nase voll hatte und allein und ohne Wasser eine Durchquerung der nächstbesten Wüste vorgenommen habe. Ich wollte mir dagegen einfach Zeit für meine Familie und besonders für meine beiden Kinder Katrina und Marc nehmen. In meinem Job ist man doch hin und wieder unterwegs und oftmals muss die Familie darunter leiden.

    Somit hatte ich viel Zeit für kingerechte (Mega-) Spiel-Parks, Ausflüge und einfach Blödsinn mit den Kindern machen. Es war zwar nur ein Monat (es ist schließlich auch eine finanzielle Frage), aber ich kann es allen empfehlen, die in einer ähnlichen Situation sind. Die Zeit, wenn die Kinder noch klein sind, geht viel zu schnell vorbei. Und dann hat man alles verpaßt.

     Auf jeden Fall bin ich jetzt wieder im Lande und werde mich auch weiterhin um .NET-Themen kümmern.Vielleicht sieht man sich ja auf der Basta in Mainz.

Page 1 of 1 (9 items)