設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 7655|回復(fù): 11
打印 上一主題 下一主題

C#如何設(shè)置Word頁腳?

[復(fù)制鏈接]

點擊這里給我發(fā)消息

跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2016-4-9 00:38:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Word頁腳設(shè)置是個比較頭疼的問題

在Word中錄制宏難以產(chǎn)生代碼,即使產(chǎn)生代碼都不能直接執(zhí)行,要轉(zhuǎn)化成C#有點困難



需求:
奇偶頁不同

奇數(shù)頁  右對齊  微軟雅黑  四號字體     格式:  - 1 -

偶數(shù)頁  左對齊  微軟雅黑  四號字體     格式: - 2 -

MSDN參考資料
https://msdn.microsoft.com/zh-cn/library/ms178795.aspx?cs-save-lang=1&cs-lang=csharp

望幫助!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

點擊這里給我發(fā)消息

2#
發(fā)表于 2016-4-9 07:59:00 | 只看該作者
Word還真沒弄過,
你所說的 左對齊,右對齊 是針對此頁所有內(nèi)容,還是只是頁碼

點擊這里給我發(fā)消息

3#
 樓主| 發(fā)表于 2016-4-9 09:25:12 來自手機 | 只看該作者
tmtony 發(fā)表于 2016-4-9 07:59
Word還真沒弄過,
你所說的 左對齊,右對齊 是針對此頁所有內(nèi)容,還是只是頁碼

頁碼
來自: 微社區(qū)

點擊這里給我發(fā)消息

4#
發(fā)表于 2016-4-9 12:13:27 | 只看該作者
int OddAndEvenPagesHeaderFooter {get; set;}
應(yīng)該是整型
bool OddAndEvenPagesHeaderFooter { get; set; }
邏輯型
設(shè)置為-1 或 0 即可

[img]file:///D:\Users\tmtony\AppData\Local\Temp\8LDO48C$8@[GWU0353$FOVS.png[/img]https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.pagesetup.oddandevenpagesheaderfooter.aspx
或 System.Boolean.  可出來值

暈 ,excel 和word 好像不同
excel是boolean
word是 int
[img]file:///D:\Users\tmtony\AppData\Roaming\Tencent\Users\18449932\QQ\WinTemp\RichOle\PZO[~UQVVZ1[Z%DCWF%H9}B.png[/img]

word你就用 int型
file:///D:\Users\tmtony\AppData\Roaming\Tencent\Users\18449932\QQ\WinTemp\RichOle\)EDTBF1%KCT8QCUVR5LBESP.png
可以為3種值
Can be True, False, or wdUndefined.
  
true 就是 -1
false 就是 0

實際上還是邏輯值,只是因為word還有個 wdUndefined
所以 要用 int
你填 1  或 -1 值
看看哪個可以
不行,再用int.parse
app.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = int.Parse("-1");

點擊這里給我發(fā)消息

5#
 樓主| 發(fā)表于 2016-4-9 12:16:02 | 只看該作者
tmtony 發(fā)表于 2016-4-9 12:13
int OddAndEvenPagesHeaderFooter {get; set;}
應(yīng)該是整型
bool OddAndEvenPagesHeaderFooter { get; set ...

謝謝王站指導(dǎo)

頁碼設(shè)置的需求麻煩王站再幫忙看一下

Word錄制宏有限制,有一些操作沒法錄制,弄起來也是蠻糾結(jié)的,加上英語不好
奇數(shù)頁  右對齊  微軟雅黑  四號字體     格式: - 1 -
偶數(shù)頁  左對齊  微軟雅黑  四號字體     格式: - 2 -

點擊這里給我發(fā)消息

6#
發(fā)表于 2016-4-9 12:56:39 | 只看該作者
你是說 設(shè)置 字體?
你把屬性貼出來
7#
發(fā)表于 2016-4-9 22:47:15 | 只看該作者
Sub test()
    Application.ScreenUpdating = False
    With ActiveDocument.Sections(1)
        .PageSetup.OddAndEvenPagesHeaderFooter = True
        With .Footers(wdHeaderFooterPrimary)
            With .PageNumbers
                .Add PageNumberAlignment:=wdAlignPageNumberRight
                .NumberStyle = wdPageNumberStyleNumberInDash
            End With
            With .Range.Frames(1)
                .HorizontalPosition = wdFrameRight
                With .Range.ParagraphFormat
                    .Alignment = wdAlignParagraphRight
                    .CharacterUnitRightIndent = 1
                End With
            End With
        End With
        With .Footers(wdHeaderFooterEvenPages).Range.Frames(1)
            .HorizontalPosition = wdFrameLeft
            With .Range.ParagraphFormat
                .Alignment = wdAlignParagraphLeft
                .CharacterUnitLeftIndent = 1
            End With
        End With
    End With
    Application.ScreenUpdating = True
End Sub

在網(wǎng)上找到VBA 代碼

點擊這里給我發(fā)消息

8#
 樓主| 發(fā)表于 2016-4-9 23:23:09 | 只看該作者
聞啟學(xué) 發(fā)表于 2016-4-9 22:47
Sub test()
    Application.ScreenUpdating = False
    With ActiveDocument.Sections(1)

謝謝····

點擊這里給我發(fā)消息

9#
 樓主| 發(fā)表于 2016-4-9 23:23:53 | 只看該作者
C#代碼 糾結(jié)了一天多,終于搞定了,感謝 @只為設(shè)計 全程指導(dǎo)

  1.             //關(guān)閉屏幕更新
  2.             app.ScreenUpdating = false;

  3.             //設(shè)置奇數(shù)頁頁腳
  4.             word.HeaderFooter secFooter = app.ActiveDocument.Sections[1].Footers[word.WdHeaderFooterIndex.wdHeaderFooterPrimary];
  5.             secFooter.PageNumbers.Add(PageNumberAlignment:word.WdPageNumberAlignment.wdAlignPageNumberInside);
  6.             secFooter.PageNumbers.NumberStyle = word.WdPageNumberStyle.wdPageNumberStyleNumberInDash;
  7.             secFooter.Range.Font.Name = "方正仿宋_GBK";
  8.             secFooter.Range.Font.Size = int.Parse("14");
  9.             
  10.             //設(shè)置奇偶頁不同
  11.             app.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = int.Parse("-1");

  12.             //設(shè)置偶數(shù)頁頁腳
  13.             word.HeaderFooter secEven = app.ActiveDocument.Sections[1].Footers[word.WdHeaderFooterIndex.wdHeaderFooterEvenPages];
  14.             secEven.PageNumbers.Add(PageNumberAlignment: word.WdPageNumberAlignment.wdAlignPageNumberOutside);
  15.             secEven.PageNumbers.NumberStyle = word.WdPageNumberStyle.wdPageNumberStyleNumberInDash;
  16.             secEven.Range.Font.Name = "方正仿宋_GBK";
  17.             secEven.Range.Font.Size = int.Parse("14");

  18.             //清除奇數(shù)頁頁眉橫線
  19.             app.ActiveWindow.ActivePane.View.SeekView = word.WdSeekView.wdSeekPrimaryHeader;
  20.             app.Selection.ClearFormatting();

  21.             //清除偶數(shù)頁頁眉橫線
  22.             app.ActiveWindow.ActivePane.View.SeekView = word.WdSeekView.wdSeekEvenPagesHeader;
  23.             app.Selection.ClearFormatting();

  24.             //退出頁眉視圖
  25.             app.ActiveWindow.ActivePane.View.SeekView = word.WdSeekView.wdSeekMainDocument;

  26.             //啟用屏幕更新
  27.             app.ScreenUpdating = true;
復(fù)制代碼

點擊這里給我發(fā)消息

10#
發(fā)表于 2016-4-10 12:15:22 | 只看該作者

強!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-17 05:56 , Processed in 0.095418 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表