[PHP+Word] Nieuwe pagina beginnen

Pagina: 1
Acties:

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Ik ben bezig met een script dat een adressenbestand naar een Word document schrijft, met als eigenaardigheid dat het geen standaard papierformaat betreft, maar een labelformaat (Avery J8159 voor diegenen die het willen weten).

Alles lukt tot nog toe, behalve een nieuwe pagina beginnen. De code die ik heb:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$word = new COM("Word.Application");
$word->Visible = 1;
$word->Documents->Add();
$word->MailingLabel->DefaultPrintBarCode = False;
$word->MailingLabel->CreateNewDocument("J8159", "", "bladiebla");

$i = 0;

while ($i < $asize) // $asize is de grootte van de adressen-array
{
  $k = $i%3;
  if ($i%24 == 0 && $i != 0)
  {
    // hier is een pagina vol en moet dus een nieuwe ingevoegd worden
  }
  elseif ($k != 2)
  {
    $word->Selection->TypeText($adres[$i]);
    $word->Selection->MoveRight();
    $word->Selection->MoveRight();
  }
  else
  {
    $word->Selection->TypeText($adres[$i]);
    $word->Selection->MoveDown();
    $word->Selection->MoveLeft();
    $word->Selection->MoveLeft();
    $word->Selection->MoveLeft();
    $word->Selection->MoveLeft();
  }
  $i++;
}

$word->Documents[1]->SaveAs("bestand.doc");
$word->Documents[1]->Close();
$word->Quit();


Ik heb gezocht naar een overzicht van de COM functies van Word, maar heb niets kunnen vinden. Als iemand me daaraan kan helpen, ben ik ver genoeg.

Edit:
Ik heb trouwens al de bovenstaande functies (zoals MoveLeft) met behulp van Record Macro in Word gevonden, maar ik kan in Word zelfs geen nieuwe pagina aanmaken...

[ Voor 14% gewijzigd door Limhes op 13-06-2003 10:29 ]


  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
In de macro van Word moet het zo
code:
1
Selection.InsertBreak Type:=wdPageBreak

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
WimB schreef op 13 June 2003 @ 10:34:
In de macro van Word moet het zo
code:
1
Selection.InsertBreak Type:=wdPageBreak
Ik heb het geprobeerd maar werkt niet, omdat je dan midden in een tabel een break insert, en dat gaat niet goed.
Na wat verder zoeken ben ik wel bij Selection.InsertRowsBelow gekomen. Dit werkt perfect, maar als ik het in PHP implementeer dan hangt hij vast na een adres of 15...
In ieder geval bedankt.