2009-06-17 8 views
3

J'ai eu affaire à ce problème depuis un certain temps: Notre société développe addins pour Word/Excel/ppt (à la fois pour les versions 2003 et 2007)Drag table html baisse de powerpoint 2007

L'une des options Notre offre addins consiste à faire glisser une table de l'addin dans l'application.

Ceci est mis en œuvre en 3 différentes façons:

  1. Excel -> nous créons une chaîne onglet delimeted et faites glisser-déposer comme DataFormats.text
  2. Word -> nous créons une table RTF, et faites glisser-déposer comme DataFormats.rtf
  3. PPT -> nous créons un tableau HTML, et faites glisser-déposer comme DataFormats.html

Tout fonctionne bien dans les deux 2003 & 2007, à l'exception du powerpoint 2007, qui ne semble pas supporter de chute de HTML (contrairement à powerpoint 2003, qui fonctionne bien) Nous avons tout essayé mais nous commençons à désespérer.

Tout le monde sait comment autoriser PowerPoint 2007 à autoriser l'abandon de html dans la présentation?

Répondre

1

Il pourrait être quelques années en retard, mais toujours une réponse est toujours bonne.

Je le faisais aussi. Vous devez convertir votre HTML au format JPEG

WebsiteToImage websiteToImage = new WebsiteToImage(temporaryFilePath, @"C:\image.bmp"); 
websiteToImage.Generate(); 
slide.Shapes.AddPicture(@"C:\image.bmp", Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, oldshapeleft, oldshapetop, oldshapewidth, oldshapeheight); 

Source trouvé: Convert webpage to image from ASP.NET

+0

assez intelligent, mais cela signifie que l'utilisateur ne sera pas en mesure de modifier la table, le redimensionnement aussi peut rendre le texte à regarder horribles – Nissim

+0

Une autre solution possible, que j'ai utilisée par la suite, était: Vous copiez la table dans Excel, elle convertit le code html avec Collage spécial dans Excel, et avec C# vous faites 'sheet.Range (cellmapp) .PasteSpecial();' then 'sheet.UsedRange.Copy (Missing.Value);', vous copiez la table de collage et allez dans PowerPoint 'ppApp.ActiveWindow.View.Paste();' et il sera collé. Maintenant, c'est un format moche, mais vous pouvez maintenant faire une boucle sur cette table collée dans Powerpoint et créer une nouvelle table REAL dans Powerpoint qui a l'air mieux. Cela surmonté que si la table va plusieurs lignes que l'image n'existe pas mais la table – mike27015

+0

'objTable.Cell (incrementer, l) .Shape.TextFrame.TextRange.Text = pptshape.Table.Cell (k, l) .Shape .TextFrame.TextRange.Text; 'Vous insérez l'ancienne table dans la nouvelle. 'objTable.Cell (incrementer, l) .Shape.TextFrame.TextRange.Font.Size = fontsize;' et avec celui-là vous pouvez redéfinir la taille de votre texte et vous n'avez plus besoin de le redimensionner. Maintenant, vous pouvez aussi définir le montant de votre nouvelle table dans PPT 'objTable = presentation.Slides [diapo.SlideIndex] .Shapes.AddTable (amountrowsshown, pptshape.Table.Columns.Count, topsize, leftsize, slide.Master.Width-widthsize , slide.Master.Height- highightsize) .Table; ' – mike27015

Questions connexes