AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MS One Note dateien lesen

Ein Thema von DelTurbo · begonnen am 10. Apr 2013 · letzter Beitrag vom 13. Apr 2013
Antwort Antwort
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#1

MS One Note dateien lesen

  Alt 10. Apr 2013, 10:35
Hi,
gibt es eine Komponente womit man .one dateien lesen kann? Ich bräuchte nur den reinen text aus der datei.

Danke im voraus
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 10:49
Das sollte über MSXML gehen, da ONE Dateien XML-Dateien sind.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#3

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 10:56
Ich habe grad mal reingesehen. Also xml kenn ich so nicht. Sieht für mich nach was anderem aus.

Ich nutze Office 2003. Vielleicht wurde das ja mal geändert?!?
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 11:08
Ich meine, das Office-Format wurde mit der 2007er-Fassung auf ein neues, XML-basiertes Format umgestellt. Davor: Keine Ahnung.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 11:16
Ich habe hier einen Fetzen von einem Experiment herumliegen, vielleicht kannst Du damit was anfangen,

Delphi-Quellcode:
unit Unit5;
// TEST 20100802 Thomas Wassermann
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, xmldom, XMLIntf, msxmldom, XMLDoc, ComCtrls,OneNote12_TLB,clipbrd;

type
  TGuidClass=Class(TComponent)
    public
    Guid:WideString;
    IsPage:Boolean;
  End;

  TForm5 = class(TForm)
    Button1: TButton;
    XMLDocument1: TXMLDocument;
    TreeView1: TTreeView;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
  private
     o:TOneNote2007;
    procedure XML2Tree(tree: TTreeView; XMLDoc: TXMLDocument);
    procedure InsertChildren(tree:TTreeview;n: TTreenode; const Guid: WideString);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}


Function SaveStr(v:Variant):String;
begin
  if not VarIsNull(v) then Result := v else Result := '';

end;

procedure TForm5.InsertChildren(tree:TTreeview;n:TTreenode;const Guid:WideString);
var
 Resp:WideString;
 XD:TXMLDocument;
 iNode: IXMLNode;
 g : TGuidClass;
 TreeNode:TTreenode;
begin
        XD:=TXMLDocument.Create(self);
        try
          o.GetHierarchy(Guid ,hsPages,Resp);
          XD.XML.Text := resp;
          XD.Active:=true;
             if XD.DocumentElement.ChildNodes.Count > 0 then
                begin
                  iNode := XD.DocumentElement.ChildNodes[0];
                  while iNode <> nil do
                  begin
                    g := TGuidClass.Create(n.TreeView);
                    g.Guid := iNode.Attributes['ID'];
                    g.IsPage := iNode.NodeName='one:Page';
                    TreeNode := tree.Items.AddchildObject(n, SaveStr(iNode.Attributes['name']) + ' - ' + SaveStr(iNode.Attributes['path']),g);
                    InsertChildren(tree,TreeNode,g.Guid);

                    iNode := iNode.NextSibling;
                  end;
                end;
        finally
          XD.Free
        end;
end;

procedure TForm5.XML2Tree(tree: TTreeView; XMLDoc: TXMLDocument);
var
  iNode: IXMLNode;

  procedure ProcessNode(Node: IXMLNode; TreeNode: TTreeNode);
  var
    cNode: IXMLNode;
    g:TGuidClass;
    Resp:WideString;
  begin
    if Node = nil then Exit; // Aufhören, wenn ein Blatt erreicht ist

    // Einen Knoten zum Baum hinzufügen

        g := TGuidClass.Create(tree);
        g.Guid := Node.Attributes['ID'];
        g.IsPage := false;
        TreeNode := tree.Items.AddchildObject(TreeNode, SaveStr(Node.Attributes['name']) + ' - ' + SaveStr(Node.Attributes['path']),g);
        InsertChildren(tree,TreeNode,g.Guid);



    // Zum Kindknoten weiter gehen
    cNode := Node.ChildNodes.First;

    // Alle Kindknoten bearbeiten
    {
    while cNode <> nil do
    begin
      ProcessNode(cNode, TreeNode);
      cNode := cNode.NextSibling;
    end;
    }

  end;

begin
  iNode := XMLDoc.DocumentElement.ChildNodes[0];
  while iNode <> nil do
  begin
    ProcessNode(iNode, nil); // Rekursiv
    iNode := iNode.NextSibling;
  end;
end;

procedure TForm5.Button1Click(Sender: TObject);
var

 Resp:WideString;

  n: Integer;
  ID, Tag: IDOMNode;
  Tags: IDOMNodeList;
begin

   o:=TOneNote2007.Create(Self);
   o.Connect;
   o.GetHierarchy('' ,hsNotebooks,Resp);
   XMLDocument1.XML.Text := resp;
   XMLDocument1.Active:=true;

   XML2Tree(Treeview1,XMLDocument1);
  // Showmessage(Resp);
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutDown := true;
end;

procedure TForm5.TreeView1DblClick(Sender: TObject);
var
 g:String;
 Resp:WideString;
 sl:TStringList;
begin
  g := TGuidClass( Treeview1.Selected.Data).Guid;
  if TGuidClass( Treeview1.Selected.Data).isPage then
      begin
// o.GetHierarchy(g ,hsPages,Resp);
        o.GetPageContent(g,Resp,piAll);
        Showmessage(Resp);
        sl := TStringList.Create;
        sl.Text := Resp;
        sl.SaveToFile('C:\temp\Seite.xml');
        sl.Free;
      end;
end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 11:22
Naja, es ist weder direkt XML noch direkt zip. Keine Ahnung was die da genau gemacht haben: Schau mal hier hinein: http://msdn.microsoft.com/en-us/libr...ffice.12).aspx
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#7

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 11:45
Ups,
ich dachte es gibt sowas für One Note wie es das für Word gibt.

http://www.scalabium.com/msword/
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: MS One Note dateien lesen

  Alt 10. Apr 2013, 13:05
Ja, OneNote12_TLB ist eine importierte Typbiliothek für "OneNote.Application" ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
DelTurbo

Registriert seit: 12. Dez 2009
Ort: Eifel
1.194 Beiträge
 
Delphi 2007 Architect
 
#9

AW: MS One Note dateien lesen

  Alt 13. Apr 2013, 13:31
Ups, vergessen zu antworten. Ich nutze die PDFtext.dll für PDF-Files. Klappt einwandfrei. Die .one-sachen lasse ich erstmal.

Gruß
Alle meine Rechtschreibfehler sind Urheberrechtlich geschützt!!

Geändert von DelTurbo (13. Apr 2013 um 17:41 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz