GVKun编程网logo

Word表格公式自动重算方法与技巧(word表格公式自动重算方法与技巧视频)

25

对于Word表格公式自动重算方法与技巧感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍word表格公式自动重算方法与技巧视频,并为您提供关于NPOI复制Word中的表格内容,操作Word表格、W

对于Word表格公式自动重算方法与技巧感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍word表格公式自动重算方法与技巧视频,并为您提供关于NPOI 复制Word中的表格内容, 操作Word表格、Word VBA(批量复制Excel表格和Word表格到Word中)、Word2007多篇论文汇编方法与技巧、wordpress 代码调用方法与技巧集锦的有用信息。

本文目录一览:

Word表格公式自动重算方法与技巧(word表格公式自动重算方法与技巧视频)

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中的表格内容, 操作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中)

Word VBA(批量复制Excel表格和Word表格到Word中)

Function Test()  ''使用双字典
    
    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多篇论文汇编方法与技巧

学校每年都要把所有老师写的集中整理成年度论文汇编,但汇编论文的工作可不轻松,要把上百个论文文档汇编成一个文档,还要对汇编后的内容进行逐篇分页、编辑目录、页码。若按一般做法那可需要花费相当多的时间精力。其实在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模板基本文件

文件index.PHP 主页文件single.PHP 日志单页文件page.PHP 页面文件archvie.PHP 分类和日期存档页文件searchform.PHP 搜索表单文件search.PHP 搜索页面文件comments.PHP 留言区域文件(包括留言列表和留言框)404.PHP 404错误页面header.PHP 网页头部文件sidebar.PHP 网页侧边栏文件footer.PHP 网页底部文件wordpress Header头部 PHP代码

总结

以上是小编为你收集整理的wordpress 代码调用方法与技巧集锦全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

今天关于Word表格公式自动重算方法与技巧word表格公式自动重算方法与技巧视频的讲解已经结束,谢谢您的阅读,如果想了解更多关于NPOI 复制Word中的表格内容, 操作Word表格、Word VBA(批量复制Excel表格和Word表格到Word中)、Word2007多篇论文汇编方法与技巧、wordpress 代码调用方法与技巧集锦的相关知识,请在本站搜索。

本文标签:

上一篇word文档几种不显示图片的解决方法(word文档几种不显示图片的解决方法是什么)

下一篇财务人员必备的Word软件应用技巧(财务人员必备的word软件应用技巧有哪些)