对于Word表格公式自动重算方法与技巧感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍word表格公式自动重算方法与技巧视频,并为您提供关于NPOI复制Word中的表格内容,操作Word表格、W
对于Word表格公式自动重算方法与技巧感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍word表格公式自动重算方法与技巧视频,并为您提供关于NPOI 复制Word中的表格内容, 操作Word表格、Word VBA(批量复制Excel表格和Word表格到Word中)、Word2007多篇论文汇编方法与技巧、wordpress 代码调用方法与技巧集锦的有用信息。
本文目录一览:- Word表格公式自动重算方法与技巧(word表格公式自动重算方法与技巧视频)
- NPOI 复制Word中的表格内容, 操作Word表格
- Word VBA(批量复制Excel表格和Word表格到Word中)
- Word2007多篇论文汇编方法与技巧
- wordpress 代码调用方法与技巧集锦
Word表格公式自动重算方法与技巧(word表格公式自动重算方法与技巧视频)
在编辑Word表格时,有时或许需要进行一些简单的计算。这项工作,你可以使用;表格”菜单中的;公式”命令(Word2003)或者;表格工具”的;布局”选项卡;数据”组中的;公式”(Word2007)来完成。 随时手动更新域 与Excel能够在更改了单元格数据后自动重新计算结果不同,在更改了Word表格中的数据后,相关单元格中的数据并不会自动计算并更新。这是因为Word中的;公式”是以域的形式存在于文档之中的,而Word并不会自动更新域。
要更新域,需要选中域,然后用右键单击选中的域,从弹出的快捷菜单中,单击;更新域”。或者,也可以选中域后,按下F9键更新域结果。而且,我们可以选中整篇Word的简历表格后,按下F9键一次性地更新所有的域。
打印前自动更新域 有时,因为忘记了更新域结果,所以你将计算有误的Word表格打印出来呈送给了上司,后果很严重吧?避免这种严重后果的发生,你只要进行简单 设置,即可以让Word表格公式也能自动重新计算并更新域结果。以下我们分别说一说Word 2003和Word 2007的具体设置过程。
1.Word 2003设置过程 ①在;工具”菜单中,单击;选项”命令。 ②单击;打印”选项卡,然后在;打印选项”标题下,选中;更新域”复选框。 ③单击;确定”按钮。
2..Word 2007设置过程 ①单击;Microsoft Office按钮”,然后单击;Word选项”。 ②单击;显示”,然后选中;打印前更新域”复选框。 ③单击;确定”按钮。
IT知识库提示,经过以上设置,在打印文档前,Word将会自动更新文档中所有的域,从而保证打印出最新的正确计算结果。
NPOI 复制Word中的表格内容, 操作Word表格
操作NPOI中的Word表格,复制/克隆完整表格
##NPOI中没有提供复制表格/元素的方法,所以需要自己实现复制表格的方法
注意 以下操作均是操作docx
文件
####操作Word文档需要操作XWPFDocument
对象,复制表格需要操作XWPFTable
对象
NPOI项目地址:https://github.com/tonyqus/npoi
代码如下,需要修改XWPFTable
的构造函数:
public XWPFTable(CT_Tbl table, IBody part, XWPFTable source)
// create new table by origin table
{
this.part = part;
this.ctTbl = table;
tableRows = new List<XWPFTableRow>();
XWPFTable target = this;
target.ctTbl.tblPr = source.ctTbl.tblPr;
target.ctTbl.tblGrid = source.ctTbl.tblGrid;
for (int i = 0; i < source.Rows.Count; i++)
{
CT_Row targetRow = target.ctTbl.AddNewTr();
XWPFTableRow row = source.Rows[i];
targetRow.trPr = row.GetCTRow().trPr;
targetRow.rsidR = row.GetCTRow().rsidR;
targetRow.rsidTr = row.GetCTRow().rsidTr;
targetRow.Table = table;
XWPFTableRow tabRow = new XWPFTableRow(targetRow, this);
tableRows.Add(tabRow);
for (int c = 0; c < row.GetTableCells().Count; c++)
{
CT_Tc targetCell = targetRow.AddNewTc();
XWPFTableCell cell = row.GetTableCells()[c];
targetCell.tcPr = cell.GetCTTc().tcPr;
for (int p = 0; p < cell.Paragraphs.Count; p++)
{
CT_P targetPhs = targetCell.AddNewP();
XWPFParagraph para = cell.Paragraphs[p];
targetPhs.pPr = para.GetCTP().pPr;
targetPhs.rsidR = para.GetCTP().rsidR;
targetPhs.rsidRPr = para.GetCTP().rsidRPr;
targetPhs.rsidRDefault = para.GetCTP().rsidRDefault;
targetPhs.rsidP = para.GetCTP().rsidP;
for (int r = 0; r < para.Runs.Count; r++)
{
CT_R targetRun = targetPhs.AddNewR();
XWPFRun run = para.Runs[r];
targetRun.rPr = run.GetCTR().rPr;
targetRun.rsidRPr = run.GetCTR().rsidRPr;
targetRun.rsidR = run.GetCTR().rsidR;
CT_Text text = targetRun.AddNewT();
text.Value = run.Text;
}
}
}
}
}
不理解的可以Clone github上的代码 拿工具看一下Word(docx)的结构就能大概明白了 不想修改构造函数的,可以使用反射直接操作元素 另外,NPOI毕竟是根据Java的POI改过来的,有些东西很多作者都没有实现,商用请慎重!
Word VBA(批量复制Excel表格和Word表格到Word中)
Word VBA(批量复制Excel表格和Word表格到Word中)
SearchPath = FolderDialog("请选择文件夹")
If SearchPath = "" Then
Exit Function
End If
WordName = SplitPath(CStr(SearchPath), 1)
Dim sFile As Object, fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set logFile = fso.CreateTextFile(SearchPath & WordName & "日志.txt", True)
Dim MyWord As Word.Application
Set MyWord = New Word.Application
MyWord.Application.ScreenUpdating = False
MyWord.Application.Visible = True
MyWord.Application.DisplayAlerts = wdAlertsNone
Set myDoc = MyWord.Documents.Add
With MyWord.ActiveDocument.PageSetup
.Orientation = wdOrientLandscape ''纸张方向横向
End With
Dim CGType() As String ''动态数组
ReDim Preserve CGType(7)
CGType(0) = "控制点"
CGType(1) = "界址点"
CGType(2) = "界址边长"
CGType(3) = "房角点"
CGType(4) = "房屋边长"
CGType(5) = "房屋面积"
CGType(6) = "巡查"
Dim ExcelApp As Object
If Tasks.Exists("Microsoft Excel") = True Then Tasks("Microsoft Excel").Close
Set ExcelApp = CreateObject("Excel.Application")
Dim wkBook As Object ''代表excelworkbook(也就是excel工作簿文件 .xls .xlsx)
Dim wkSheet As Object ''代表excel的工作页
ExcelApp.Application.EnableEvents = False ''禁止宏等提示的运行
ExcelApp.Application.DisplayAlerts = False
ExcelApp.Application.CutCopyMode = False
Dim DicList, FileList, CunDic, I, FileName(), FilePath()
Dim excelPath As String
Set DicList = CreateObject("Scripting.Dictionary")
Set FileList = CreateObject("Scripting.Dictionary")
DicList.Add SearchPath, "" ''初始化目录
''**************遍历一级目录 获取路径和村名*******************
Do While I < DicList.Count
Key = DicList.keys ''本次要遍历的目录
NowDic = Dir(Key(I), vbDirectory) ''开始查找
Do While NowDic <> ""
If (NowDic <> ".") And (NowDic <> "..") Then
If (GetAttr(Key(I) & NowDic) And vbDirectory) = vbDirectory Then ''找到子目录,则添加
If Not DicList.Exists(Key(I) & NowDic & "\") Then
DicList.Add Key(I) & NowDic & "\", NowDic
End If
End If
End If
NowDic = Dir() ''再找
Loop
Exit Do
Loop
''****************************************************
''********************获取村所对应的文件夹和子文件夹********************************
Set CunDic = CreateObject("Scripting.Dictionary")
k = DicList.keys
v = DicList.Items
For I = 0 To DicList.Count - 1
If Not v(I) = "" Then
CunMin = v(I)
''加入村名 放在文件字典里
If Not FileList.Exists(CunMin) Then
FileList.Add CunMin, ""
End If
''FileList.RemoveAll
''*********************遍历村名下所有的文件夹*****************************
CunDic.RemoveAll
CunDic.Add k(I), ""
J = 0
Do While J < CunDic.Count
Key = CunDic.keys ''本次要遍历的目录
NowDic = Dir(Key(J), vbDirectory)
Do While NowDic <> ""
If (NowDic <> ".") And (NowDic <> "..") Then
If (GetAttr(Key(J) & NowDic) And vbDirectory) = vbDirectory Then ''找到子目录,则添加
If Not CunDic.Exists(Key(J) & NowDic & "\") Then
CunDic.Add Key(J) & NowDic & "\", ""
End If
End If
End If
NowDic = Dir() ''再找
Loop
J = J + 1
Loop
''***************************************************
''******************************在村名下对应的所有目录下搜索XLS文件*******************************
For Each Key In CunDic.keys ''查找所有目录中的控制点文件
For m = 0 To UBound(CGType) - 1
If m <= UBound(CGType) - 2 Then
NowFile = Dir(Key & "*" & CGType(m) & "*.xls")
Else
NowFile = Dir(Key & "*" & CGType(m) & "*.docx")
End If
Do While NowFile <> ""
If Not FileList.Exists(CunMin) Then
FileList.Add CunMin, Key & NowFile ''FileList.Key=文件名,FileList.Item=目录
Else
If FileList.Item(CunMin) = "" Then
FileList(CunMin) = Key & NowFile
Else
FileList.Item(CunMin) = FileList.Item(CunMin) & "@" & Key & NowFile
End If
End If
NowFile = Dir()
Loop
Next
Next
End If
Next
''*********************************************************************************************
FileName() = FileList.keys
FilePath() = FileList.Items
For m = 0 To FileList.Count - 1
element = FileName(m)
excelPathArray = Split(FileList(element), "@")
''**********记录日志 7文件是否缺少文件******************************
For x = 0 To UBound(CGType) - 1
boolFind = False
For y = 0 To UBound(excelPathArray)
excelPath = excelPathArray(y)
If InStr(excelPath, CGType(x)) > 0 Then
boolFind = True
Exit For
End If
Next
If Not boolFind Then
logFile.WriteLine (element & "缺少" & CGType(x) & "成果")
End If
Next
''************************************************************************
For n = 0 To UBound(excelPathArray)
excelPath = excelPathArray(n)
extention = SplitPath(excelPath, 2)
If StrComp(extention, "xls", vbTextCompare) = 0 Then
Set wkBook = ExcelApp.Workbooks.Open(excelPath)
Set wkSheet = wkBook.Worksheets(1)
lastRowCount = ExcelApp.ActiveSheet.UsedRange.Rows.Count
lastColumnCount = ExcelApp.ActiveSheet.UsedRange.Columns.Count
lastEnColumnCount = ChgNumToABC(lastColumnCount)
excelrowcolumn = lastEnColumnCount & CStr(lastRowCount)
''Dim rng As Object
''Set rng = wkSheet.Range("A1:" & excelrowcolumn)
''rn.Copy
MyWord.Activate
With MyWord
If n = 0 Then
MyWord.Application.Selection.InsertBefore Text:=element
MyWord.Application.Selection.ParagraphFormat.OutlineLevel = wdOutlineLevel1
MyWord.Application.Selection.EndKey Unit:=wdLine, Extend:=wdMove
End If
wkSheet.Range("A1:" & excelrowcolumn).Copy
''myDoc.Paragraphs(1).Range.PasteExcelTable False, False, False ''粘贴为表格
MyWord.Application.Selection.PasteExcelTable False, False, False
MyWord.Application.Selection.ParagraphFormat.OutlineLevel = wdOutlineLevelBodyText
If n <= UBound(excelPathArray) - 1 Then
MyWord.Application.Selection.EndKey Unit:=wdStory, Extend:=wdMove
MyWord.Application.Selection.Range.InsertAfter (vbCrLf)
''Else
''MyWord.Application.Selection.EndKey Unit:=wdStory, Extend:=wdMove
End If
ExcelApp.Application.Workbooks.Close
End With
''Set MyWord = Nothing
ElseIf StrComp(extention, "docx", vbTextCompare) = 0 Then
MyWord.Activate
Set otherDoc = MyWord.Documents.Open(excelPath)
otherDoc.Activate
MyWord.Application.Selection.WholeStory
MyWord.Application.Selection.Copy
myDoc.Activate
MyWord.Application.Selection.EndKey Unit:=wdLine, Extend:=wdMove
MyWord.Application.Selection.Paste
MyWord.Application.Selection.InsertBreak (wdPageBreak)
otherDoc.Close
End If
Next
Next
''*************************设置表格居中而非内容居中*************************
For Each tb In myDoc.Tables
tb.Rows.Alignment = wdAlignRowCenter
Next
''************************************************
MyWord.ActiveDocument.SaveAs FileName:=CStr(SearchPath) & WordName & ".doc"
MyWord.ActiveDocument.Close
MyWord.Application.ScreenUpdating = Ture
MyWord.Quit SaveChanges:=wdDoNotSaveChanges
ExcelApp.Application.CutCopyMode = False
logFile.Close
Set logFile = Nothing
Set fso = Nothing
ExcelApp.Application.Quit
Set CunDic = Nothing
Set FileList = Nothing
Set DicList = Nothing
Set DicList = Nothing
Set MyWord = Nothing
MsgBox "Done"
End Function
''ResultFlag=0 获取路径 ''ResultFlag=1 获取文件名 ''ResultFlag=2 获取扩展名
Public Function SplitPath(FullPath As String, ResultFlag As Integer) As String
Dim SplitPos As Integer, DotPos As Integer
SplitPos = InStrRev(FullPath, "\")
DotPos = InStrRev(FullPath, ".")
Select Case ResultFlag
Case 0
SplitPath = Left(FullPath, SplitPos - 1)
Case 1
If DotPos = 0 Then
If Right(FullPath, 1) = "\" Then
FullPath = Left(FullPath, Len(FullPath) - 1)
SplitPos = InStrRev(FullPath, "\")
End If
DotPos = Len(FullPath) + 1
End If
SplitPath = Mid(FullPath, SplitPos + 1, DotPos - SplitPos - 1)
Case 2
If DotPos = 0 Then DotPos = Len(FullPath)
SplitPath = Mid(FullPath, DotPos + 1)
Case Else
Err.Raise vbObjectError + 1, "SplitPath Function", "无效参数!"
End Select
End Function
Function FolderDialog(strTitle As String) As String ''获取选择文件夹对话框的目录
Set objShell = CreateObject("Shell.Application")
Set objDialog = objShell.BrowseForFolder(0, strTitle, 0, 0)
If Not objDialog Is Nothing Then
If Right(objDialog.self.Path, 1) = "\\" Then
FolderDialog = objDialog.self.Path
Else
FolderDialog = objDialog.self.Path & "\"
End If
Else
FolderDialog = ""
MsgBox "没有选择文件夹"
End If
Set objDialog = Nothing
Set objShell = Nothing
End Function
''*****************************************************************************
''将Excel中列数转换为列名(如27列--->AA列)
''参数:var 列数
''返回:列名 string
''*****************************************************************************
Public Function ChgNumToABC(ByVal var As Integer) As String
Dim res As String
Dim remainder As Integer ''余数
Dim quotient As Integer ''商
remainder = var Mod 26
If remainder = 0 Then
var = var - 26
remainder = 26
End If
quotient = var \ 26
If quotient <> 0 Then
res = ChgNumToABC(quotient)
End If
ChgNumToABC = res & Chr(remainder + 65 - 1)
End Function
Function zhzm(num As Long) As String
Dim inum As Long
Dim imod As Long
Application.Volatile
Do While num
inum = IIf(num Mod 26 = 0, num \ 26 - 1, num \ 26)
imod = IIf(num Mod 26 = 0, 26, num Mod 26)
zhzm = Chr(64 + imod) & zhzm
num = inum
Loop
End Function
Word2007多篇论文汇编方法与技巧
学校每年都要把所有老师写的集中整理成年度论文汇编,但汇编论文的工作可不轻松,要把上百个论文文档汇编成一个文档,还要对汇编后的内容进行逐篇分页、编辑目录、页码。若按一般做法那可需要花费相当多的时间精力。其实在Word2007中我们只要适当应用一些常用功能,完全可以快速轻松地完成汇编论文这项麻烦工作。
轻松合并文档
在Word 2007中要合并上百个论文文档还是比较简单的。先把交上来的所有文档集中存放在同一文件夹内,比如;d:\论文集”。打开Word2007,新建一个文档,切换到;插入”选项卡,单击;文字”区域的;对象”,从下拉列表中选择;文件中的文字”。在;插入文档”窗口中打开论文所在文件夹;d:\论文集”,按Ctrl+A键选中所有论文文档,再单击;插入”按钮,马上可以看到所有论文已经合并到当前文档中了。
快速逐篇分页
合并后所有论文是首尾相连的,而在汇编中通常要求每一篇的标题都要从独立的页面开始,也就是说需要在每一篇的标题前分页。百来篇论文若逐一按;Ctrl+回车键”分页可得不少时间。好在学校对有统一要求,所有上交论文的标题都是二号字、加粗,根据这一特点我们可以用Word的查找替换快速分页。
在Word 2007,单击;开始”选项卡;编辑”区域的;替换”,在;查找和替换”窗口中单击;更多”按钮以显示高级选项。然后单击;格式”按钮选择;字体(F)…”,在;查找字体”窗格中选择字号为;二号”、字形为;粗体”,确定后在;查找和替换”窗口的查找内容下会显示;格式: 字体:二号,加粗”。查找内容不用输入,只在;替换为”中输入^m^&(图1),单击;全部替换”按钮即可在所有标题前逐一插入分页符完成自动按篇分页。对于标题分两行的论文, Word只会在第一行标题前分页。
注:^m代表人工分页符,^&代表查找的内容。此外,在重启Word前设置的查找格式不会自动消除。因此查找格式后再找其他内容,记得先定位到查找内容的输入框中单击;不限制格式”按钮取消查找格式,否则你可能会找不到所需内容。
汇编目录速成
如果直接输入汇编论文目录显然会很麻烦,以后编辑页码时修改也很麻烦。我们可以先对标题统一设置标题样式,再让Word根据标题样式自动生成目录,这样就简单多了。
单击;开始”选项卡;编辑”区域的;查找”,单击;更多”按钮,然后单击;格式”按钮选择;字体(F)…”设置查找字体为;二号”、;粗体”。查找内容不用输入,单击;在以下项中查找”按钮,选择;主文档”,文档中所有论文标题会全部被选中。现在单击;开始”选项卡;样式”列表中的;标题”,即可把所有论文标题设置为;标题”样式。
现在定位到文档开头,切换到;引用”选项卡,单击;目录”选择;插入目录”。在;目录”窗口中设置;显示级别”为1,再单击;选项”按钮,在;目录选项”窗口的样式列表中删除;标题1”后的目录级别数字1,只保留;标题”(图2),一路确定返回,即可在文档开头自动插入目录。然后切换到;页面布局”选项卡,单击;分隔符”选择分节符的;下一页”,把目录和论文分开。当然你可能还需要在目录上输入目录两个大字。以后若重新排版造成论文标题、页码变化时,只要右击目录选择;刷新域”即可自动修正目录。
设置论文页码
设置文档页码比较简单,切换到;插入”选项卡,单击的;页码”选择;页面底端”的;普通数字2”即可为文档插入页码。接下来还得双击把输入点定位到第一篇论文前,再次单击;页码”选择;设置页码格式”,在弹出窗口中设置;起始页码”为1,确定让论文部分的页码从1开始。最后右击目录选择;刷新域”以显示新页码即可。至此我们的论文汇编工作就大功告成了。
wordpress 代码调用方法与技巧集锦
wordpress模板基本文件
总结
以上是小编为你收集整理的wordpress 代码调用方法与技巧集锦全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
今天关于Word表格公式自动重算方法与技巧和word表格公式自动重算方法与技巧视频的讲解已经结束,谢谢您的阅读,如果想了解更多关于NPOI 复制Word中的表格内容, 操作Word表格、Word VBA(批量复制Excel表格和Word表格到Word中)、Word2007多篇论文汇编方法与技巧、wordpress 代码调用方法与技巧集锦的相关知识,请在本站搜索。
本文标签: