Avatar billede trayzor Nybegynder
13. februar 2003 - 21:25 Der er 6 kommentarer og
1 løsning

Lav en table og indsæt data i cellerne

Jeg skal lave en table i en powerpoint præsentation hvilket gøres sådan her:

PowerPoint.Shape myTable = objSlide.Shapes.AddTable(3,3,100,100,150,150);

Dette laver en tabel med 3 rækker og 3 kolonner på position 100,100 og i målene 150 x 150.

Jeg gættede på at det kunne gøres således:

myTable.Table.Cell(2,2) = "content in cell 2,2";

Men det fejler...

Fejl:
1. The left-hand side of an assignment must be a variable, property or indexer.

2. Cannot implicitly convert type 'string' to 'PowerPoint.Cell'


Nogen ideer?

/Michael
Avatar billede burningice Nybegynder
13. februar 2003 - 22:46 #1
trayzor>> du har ikke mulighed for nogen form for Intellisense i det program du koder i? Umiddelbart ville jeg tro det var noget i den her retning:

myTable.Table.Column(2).Cell(2).Text = "content in cell 2,2"... men jeg ved det selvfølgelig ikke 100% da jeg ikke kender til PP-klasserne, men det ville da ligesom "leve op til" den almindelige DataTable som der findes i .Net CL.
Avatar billede trayzor Nybegynder
13. februar 2003 - 22:56 #2
myTable.Table.Columns.Item(1).Cells.Item(1)
myTable.Table.Columns.Item(1).Cells.Item(1)

Det er nok det der kommer tættest på... men der er ikke nogen properties der minder om noget man kan bruge... =/
Avatar billede burningice Nybegynder
13. februar 2003 - 23:45 #3
Jeg vil prøve at lede i MSDN imorgen og se om jeg kan finde noget... lige nu vil jeg dog smutte iseng :)
Avatar billede trayzor Nybegynder
13. februar 2003 - 23:47 #4
Det lyder suverænt... det ser jeg frem til... =o)
Avatar billede burningice Nybegynder
14. februar 2003 - 13:00 #5
Jeg fandt denne artikkel på MSDN som ledte mig på rette spor, http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnofftalk/html/office02072002.asp, og det viser sig at begge de løsninger du har fundet frem til er rigtige, du skal bare huske at tilføje Shape.TextFrame.TextRange.Text ;)

Denne kode er testet og virker...

            PowerPoint.ApplicationClass app = new PowerPoint.ApplicationClass();

            PowerPoint.Presentation pre = app.Presentations.Add(MsoTriState.msoTrue);

            PowerPoint.Slide sli = pre.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutBlank);

            PowerPoint.Shape myTable = sli.Shapes.AddTable(3,3,100,100,150,150);

            myTable.Table.Cell(1,1).Shape.TextFrame.TextRange.Text = "hej med dig";
            myTable.Table.Columns.Item(2).Cells.Item(2).Shape.TextFrame.TextRange.Text = "hej med dig";

            pre.SaveAs("c:\\test.ppt", PowerPoint.PpSaveAsFileType.ppSaveAsPresentation, MsoTriState.msoTrue);

            pre.SlideShowSettings.Run();
Avatar billede trayzor Nybegynder
14. februar 2003 - 17:17 #6
Perfekt!!!

takker... (lidt flovt at jeg selv har læst den artikel rigtig mange gange)..

Smider du ik et svar!? =D
Avatar billede burningice Nybegynder
14. februar 2003 - 18:46 #7
hehe... nogengange kan man ikke se skoven for træer ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester