---
title: "Interop.Word"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/171483-interop-word"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Zaiman"
published: "2008-05-15T12:32:08.000Z"
updated: "2008-05-16T07:30:51.000Z"
replies: 3
views: 470
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/171483-interop-word"
---

# Interop.Word

## #1 — Zaiman, 2008-05-15T12:32Z

Hej.
Har stött på patrull. Ska göra lite etiketter i word hade jag tänkt mig.
Men bilden som jag placerar ut kommer endast på den första och sista sidan. 
Fast på den första sidan många gånger.
Har inte jobbat med detta tidigare och behöver lite hjälp. Hur får jag bilden placerad på varje sida? 

```
            object oMissing = System.Reflection.Missing.Value;
            object oEndOfDoc = "\\endofdoc";
            object oPageBreak = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;

            Microsoft.Office.Interop.Word.Application oWord;
            Microsoft.Office.Interop.Word.Document oDoc;
            Microsoft.Office.Interop.Word.Range wRange;
            oWord = new Microsoft.Office.Interop.Word.Application();
            oWord.Visible = true;

            oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            oDoc.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperCustom;
            oDoc.PageSetup.RightMargin = 0;
            oDoc.PageSetup.LeftMargin = 0;
            oDoc.PageSetup.TopMargin = 0;
            oDoc.PageSetup.BottomMargin = 0;
            float _pageWidth = 215.5f;
            float _pageHeight = 87.9f;
            oDoc.PageSetup.PageWidth = _pageWidth;
            oDoc.PageSetup.PageHeight = _pageHeight;
            wRange = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
            int i = 10;
            while (i > 1)
            {
                
                oDoc.Shapes.AddPicture(@"C:\Pictures\ek1.gif", ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
                wRange.InsertBreak(ref oPageBreak);
                i--;
            }
```

Försökte hitta något vettigt men vet inte riktigt vad jag ska söka efter.

/r
Det jag vill åstadkomma är alltså en bild per sida i dokumentet.

Permalänk: https://www.webforum.nu/p/171483

## #2 — P, 2008-05-15T16:43Z

Interop.word / excel är ju inte direkt roliga att arbeta med.
<http://www.codeproject.com/KB/vb/dotNETComponentCOMClient.aspx> 
Där gör de något med page-break i alla fall, men det är kanske inte det som är problemet. Bilden kanske måste formateras så att de inte hamnar på varandra?

Permalänk: https://www.webforum.nu/p/2110346

## #3 — Zaiman, 2008-05-15T18:06Z

Hmm var inne på samma linje, men får det inte att fungera.
Får ett null pointer exception.

Permalänk: https://www.webforum.nu/p/2110360

## #4 — Zaiman, 2008-05-16T07:30Z

Så nu kommer det en bild på varje sida :)
Bara för mig att börja sy in det i den gamla koden och få till placeringen. En bit på väg iaf.

```
 {
            object oMissing = System.Reflection.Missing.Value;
            object oEndOfDoc = "\\endofdoc";
            object oPageBreak = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
            object oPage = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage;

            Microsoft.Office.Interop.Word.Application oWord;
            Microsoft.Office.Interop.Word.Document oDoc;
            Microsoft.Office.Interop.Word.Range wRange;
            Microsoft.Office.Interop.Word.Selection oSel;
            oWord = new Microsoft.Office.Interop.Word.Application();
            oWord.Visible = true;

            oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            oDoc.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperCustom;
            oDoc.PageSetup.RightMargin = 0;
            oDoc.PageSetup.LeftMargin = 0;
            oDoc.PageSetup.TopMargin = 0;
            oDoc.PageSetup.BottomMargin = 0;
            float _pageWidth = 215.5f;
            float _pageHeight = 87.9f;
            oDoc.PageSetup.PageWidth = _pageWidth;
            oDoc.PageSetup.PageHeight = _pageHeight;
            wRange = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

            oSel = oWord.Selection;

            int i = 10;
            while (i > 1)
            {
                oSel.InlineShapes.AddPicture(@"C:\Pictures\ek1.gif", ref oMissing, ref oMissing, ref oMissing);
                oSel.InsertBreak(ref oPageBreak);
                i--;
            }
            wRange = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
         
            object oSave = false;
            // oDoc.Close(ref oSave, ref oMissing, ref oMissing);
        }
```

Permalänk: https://www.webforum.nu/p/2110485

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/171483-interop-word
