13,825
社区成员
发帖
与我相关
我的任务
分享
wdApp->Connect();
// 为调试方便,将WORD界面可视
wdDoc->Application->Visible = true;
// 建立一个新文档
wdDoc->Application->Documents->Add();
wdDoc->ConnectTo(wdApp->get_ActiveDocument());
wdDoc->Application->ActiveWindow->Selection->Range->Select();
wdDoc->Application->ActiveWindow->ActivePane->View->SeekView =
WdSeekView::wdSeekCurrentPageHeader;
wdDoc->Application->Selection->HeaderFooter->Shapes->AddTextEffect(
Office_xp::MsoPresetTextEffect::msoTextEffect2,
WideString("公司绝密").c_bstr(),
WideString("宋体").c_bstr(),
1.0,
MsoTriState::msoFalse,
MsoTriState::msoFalse,
0,
0)->Select();
Word_xp::ShapeRangePtr r = wdDoc->Application->Selection->ShapeRange;
r->Name = WideString("PowerPlusWaterMarkObject1").c_bstr();
r->TextEffect->NormalizedHeight = MsoTriState::msoFalse;
r->Line->Visible = MsoTriState::msoFalse;
r->Fill->Visible = MsoTriState::msoTrue;
r->Fill->Solid();
r->Fill->Transparency = 0.5;
r->Rotation = 315;
r->LockAspectRatio = MsoTriState::msoTrue;
r->Height = wdDoc->Application->CentimetersToPoints(2.58);
r->Width = wdDoc->Application->CentimetersToPoints(18.07);
r->WrapFormat->AllowOverlap = MsoTriState::msoTrue;
r->WrapFormat->Side = Word_xp::WdWrapSideType::wdWrapLargest;
r->WrapFormat->Type = Word_xp::WdWrapType::wdWrapNone;
r->RelativeHorizontalPosition = Word_xp
::WdRelativeHorizontalPosition
::wdRelativeHorizontalPositionMargin;
r->RelativeVerticalPosition = Word_xp
::WdRelativeVerticalPosition
::wdRelativeVerticalPositionMargin;
r->Left = Word_xp::WdShapePosition::wdShapeCenter;
r->Top = Word_xp::WdShapePosition::wdShapeCenter;
wdDoc->Application->ActiveWindow->ActivePane->View->SeekView =
WdSeekView::wdSeekMainDocument;
MessageBox(Handle, "启动Word出错!",
Application->Title.c_str(), MB_OK | MB_ICONERROR);
MessageBox(Handle, TEXT("启动Word出错!"),
TEXT("Error"), MB_OK | MB_ICONERROR);
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant vWordApp;
try
{
vWordApp = Variant::CreateObject("Word.Application");
}
catch(...)
{
MessageBox(Handle, "启动Word出错!",
Application->Title.c_str(), MB_OK | MB_ICONERROR);
vWordApp = Unassigned;
return;
}
vWordApp.OlePropertySet("Visible", true);
// 添加新文档
vWordApp.OlePropertyGet("Documents").OleFunction("Add");
vWordApp.OlePropertyGet("ActiveWindow").OlePropertyGet("Selection")
.OlePropertyGet("Range").OleFunction("Select");
vWordApp.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane")
.OlePropertyGet("View").OlePropertySet("SeekView", 9); // wdSeekCurrentPageHeader
// 63 63 72 75 6E 2E 63 6F 6D
vWordApp.OlePropertyGet("Selection").OlePropertyGet("HeaderFooter")
.OlePropertyGet("Shapes").OleFunction("AddTextEffect",
1, // msoTextEffect1? "PowerPlusWaterMarkObject1"
"我要加文字水印", "宋体", 1, false, false, 0, 0).OleFunction("Select");
Variant vRange = vWordApp.OlePropertyGet("Selection").OlePropertyGet("ShapeRange");
vRange.OlePropertySet("Name", "PowerPlusWaterMarkObject1");
vRange.OlePropertyGet("TextEffect").OlePropertySet("NormalizedHeight", false);
vRange.OlePropertyGet("Line").OlePropertySet("Visible", false); // true
vRange.OlePropertyGet("Fill").OlePropertySet("Visible", true);
vRange.OlePropertyGet("Fill").OleFunction("Solid");
vRange.OlePropertyGet("Fill").OlePropertyGet("ForeColor")
.OlePropertySet("RGB", -603923969); // 这个颜色我随便写了一个
vRange.OlePropertyGet("Fill").OlePropertySet("Transparency", 0.5);
// 旋转
vRange.OlePropertySet("Rotation", 315);
vRange.OlePropertySet("LockAspectRatio", true);
vRange.OlePropertySet("Height", 2.58 * 28.346); // 厘米转磅的运算,大概乘28.346就可以了
vRange.OlePropertySet("Width", 18.07 * 28.346); // 同上
vRange.OlePropertyGet("WrapFormat").OlePropertySet("AllowOverlap", true);
vRange.OlePropertyGet("WrapFormat").OlePropertySet("Side", 3); // wdWrapNone
vRange.OlePropertyGet("WrapFormat").OlePropertySet("Type", 3);
vRange.OlePropertySet("RelativeHorizontalPosition", 0); // wdRelativeVerticalPositionMargin
vRange.OlePropertySet("RelativeVerticalPosition", 0); // wdRelativeVerticalPositionMargin
vRange.OlePropertySet("Left", -999995); // wdShapeCenter
vRange.OlePropertySet("Top", -999995); // wdShapeCenter
vWordApp.OlePropertyGet("ActiveWindow").OlePropertyGet("ActivePane")
.OlePropertyGet("View").OlePropertySet("SeekView", 0); // wdSeekMainDocument
ShowMessage("完成!");
// 收尾工作略去
// ...
// 自己添加
}
Sub WaterMark()
'
' WaterMark Macro
' 宏在 2009-07-29 由 录制
'
ActiveDocument.Sections(1).Range.Select
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.HeaderFooter.Shapes.AddTextEffect(PowerPlusWaterMarkObject1, _
"我要加文字水印", "宋体", 1, False, False, 0, 0).Select
Selection.ShapeRange.Name = "PowerPlusWaterMarkObject1"
Selection.ShapeRange.TextEffect.NormalizedHeight = False
Selection.ShapeRange.Line.Visible = False
Selection.ShapeRange.Fill.Visible = True
Selection.ShapeRange.Fill.Solid
Selection.ShapeRange.Fill.ForeColor.RGB = 灰色 - 25
Selection.ShapeRange.Fill.Transparency = 0.5
Selection.ShapeRange.Rotation = 315
Selection.ShapeRange.LockAspectRatio = True
Selection.ShapeRange.Height = CentimetersToPoints(2.58)
Selection.ShapeRange.Width = CentimetersToPoints(18.07)
Selection.ShapeRange.WrapFormat.AllowOverlap = True
Selection.ShapeRange.WrapFormat.Side = wdWrapNone
Selection.ShapeRange.WrapFormat.Type = 3
Selection.ShapeRange.RelativeHorizontalPosition = _
wdRelativeVerticalPositionMargin
Selection.ShapeRange.RelativeVerticalPosition = _
wdRelativeVerticalPositionMargin
Selection.ShapeRange.Left = wdShapeCenter
Selection.ShapeRange.Top = wdShapeCenter
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
Word_xp::Paragraph *prgh;//段落指针
wdApp->Connect();
// 为调试方便,将WORD界面可视
wdApp->set_Visible(true);
// 建立一个新文档
wdApp->Documents->Add();
wdDoc->ConnectTo(wdApp->get_ActiveDocument());
wdDoc->Sections->Item(Variant(1))->Range->Select();
wdDoc->ActiveWindow->ActivePane->View->SeekView = 9;//wdSeekCurrentPageHeader;
Office_xp::MsoPresetTextEffect PresetTextEffect;
Word_xp::Shape *prop;
wdDoc->Application->Selection->HeaderFooter->Shapes->AddTextEffect(PresetTextEffect,
(BSTR)"公司绝密",
(BSTR)"宋体",
1.0,
(MsoTriState)true,
(MsoTriState)false,
0.0,
0.0,
(VARIANT*)NULL,
&prop);
wdDoc->Application->Selection->ShapeRange->Name = L"PresetTextEffect";
wdDoc->Application->Selection->ShapeRange->TextEffect->NormalizedHeight = false;
wdDoc->Application->Selection->ShapeRange->Line->Visible = false;
wdDoc->Application->Selection->ShapeRange->Fill->Visible = true;
wdDoc->Application->Selection->ShapeRange->Fill->Solid();
Word_xp::ColorFormatPtr clpro;
Word_xp::ShapeRangePtr ShapRang;
//wdDoc->Application->Selection->HeaderFooter->Shapes->AddShape()
clpro->set_Yellow(0xF9E2D5);
//wdDoc->Application->Selection->ShapeRange->Fill->ForeColor = clpro;
wdDoc->Application->Selection->ShapeRange->Fill->Transparency = 0.5;
wdDoc->Application->Selection->ShapeRange->Rotation = 315;
wdDoc->Application->Selection->ShapeRange->LockAspectRatio = true;
//wdDoc->Application->Selection->ShapeRange->Height = CentimetersToPoints(4.13);
//wdDoc->Application->Selection->ShapeRange->Width = CentimetersToPoints(16.52);
wdDoc->Application->Selection->ShapeRange->WrapFormat->AllowOverlap = true;
wdDoc->Application->Selection->ShapeRange->WrapFormat->Side = 3;//wdWrapNone
//wdDoc->Application->Selection->ShapeRange->Type = 3;
wdDoc->Application->Selection->ShapeRange->RelativeHorizontalPosition = 0;//wdRelativeVerticalPositionMargin;
wdDoc->Application->Selection->ShapeRange->RelativeVerticalPosition = 0;//wdRelativeVerticalPositionMargin;
wdDoc->Application->Selection->ShapeRange->Left = 0xFFF0BDC5;//wdShapeCenter
wdDoc->Application->Selection->ShapeRange->Top = 0xFFF0BDC5;//wdShapeCenter;
wdDoc->ActiveWindow->ActivePane->View->SeekView = 0; //wdSeekMainDocument