Word通过宏统一设置样式

news/2025/10/9 16:06:15/文章来源:https://www.cnblogs.com/yeyuzhuanjia/p/19131340

Word通过宏统一设置表格样式、图片样式、标题和正文样式、更新目录。

Sub A表格格式化_增强版()On Error Resume NextApplication.ScreenUpdating = FalseDim tbl As tableDim counter As Integer: counter = 1Dim response As VbMsgBoxResultFor Each tbl In ActiveDocument.TablesCall FormatSingleTable(tbl)' 进度提示If counter Mod 20 = 0 Thenresponse = MsgBox("已处理第 " & counter & " 个表格", vbOKCancel + vbInformation, "进度")If response = vbCancel Then Exit ForEnd Ifcounter = counter + 1Next tblApplication.ScreenUpdating = TrueIf response <> vbCancel ThenMsgBox "完成!共处理 " & (counter - 1) & " 个表格", vbInformationEnd If
End Sub' 单独处理每个表格的函数
Sub FormatSingleTable(tbl As table)On Error Resume Next' 表格基本设置With tbl.PreferredWidthType = wdPreferredWidthPercent.PreferredWidth = 100.AllowAutoFit = False.Rows.Alignment = wdAlignRowCenterEnd With' 边框设置With tbl.Borders.Enable = True.OutsideLineStyle = wdLineStyleSingle.OutsideLineWidth = wdLineWidth050pt.InsideLineStyle = wdLineStyleSingle.InsideLineWidth = wdLineWidth050ptEnd With' 逐个单元格处理(支持合并单元格)Dim r As Long, c As LongFor r = 1 To tbl.Rows.CountFor c = 1 To tbl.Columns.Count' 只处理每个合并区域的第一个单元格If Not IsMergedCell(tbl, r, c) ThenFormatTableCell tbl, r, cEnd IfNext cNext r
End Sub' 判断是否为合并单元格的重复部分
Function IsMergedCell(tbl As table, row As Long, col As Long) As BooleanOn Error Resume NextIsMergedCell = (tbl.cell(row, col).rowIndex <> row Or tbl.cell(row, col).ColumnIndex <> col)
End Function' 格式化单个单元格
Sub FormatTableCell(tbl As table, row As Long, col As Long)On Error Resume NextWith tbl.cell(row, col).VerticalAlignment = wdCellAlignVerticalCenter.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter.Range.Font.Name = "宋体".Range.Font.NameFarEast = "宋体".Range.Font.Size = 10.5.Range.Font.Color = RGB(0, 0, 0)If row = 1 Then.Range.Font.Bold = True.Shading.BackgroundPatternColor = RGB(242, 242, 242)Else.Range.Font.Bold = False.Shading.BackgroundPatternColor = wdColorAutomaticEnd IfEnd With
End Sub'' 厘米转磅函数(1厘米=28.35磅)
Function CentimetersToPoints(ByVal cm As Single) As SingleCentimetersToPoints = cm * 28.35
End FunctionSub B图片格式化()' 声明变量Dim shp As ShapeDim ilshp As InlineShapeDim pageWidth As SingleDim leftMargin As SingleDim rightMargin As SingleDim usableWidth As Single' 关闭屏幕更新以提高宏运行速度Application.ScreenUpdating = False' 设置错误处理,跳过无法处理的图片On Error Resume Next' 计算页面可用宽度(点数)With ActiveDocument.PageSetuppageWidth = .pageWidthleftMargin = .leftMarginrightMargin = .rightMarginEnd With' 计算可用宽度 = 页面宽度 - 左边距 - 右边距usableWidth = pageWidth - leftMargin - rightMargin' 第一部分:处理嵌入型图片(InlineShapes)For Each ilshp In ActiveDocument.InlineShapesIf ilshp.Type = wdInlineShapePicture Or ilshp.Type = wdInlineShapeLinkedPicture Then' 设置图片宽度为页面可用宽度ilshp.Width = usableWidth' ★ 新增:取消首行缩进并设置居中对齐With ilshp.Range.ParagraphFormat.CharacterUnitFirstLineIndent = 0    ' 取消字符单位首行缩进.FirstLineIndent = 0                 ' 取消磅单位首行缩进.Alignment = wdAlignParagraphCenter   ' 段落后中包括图片End WithEnd IfNext ilshp' 第二部分:处理浮动型图片(Shapes)For Each shp In ActiveDocument.ShapesIf shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then' 锁定纵横比,设置宽度为页面可用宽度shp.LockAspectRatio = msoTrueshp.Width = usableWidth' ★ 新增:通过锚定段落取消首行缩进并居中对齐If Not shp.Anchor Is Nothing ThenWith shp.Anchor.ParagraphFormat.CharacterUnitFirstLineIndent = 0.FirstLineIndent = 0.Alignment = wdAlignParagraphCenterEnd WithEnd IfEnd IfNext shp' 完成提示(更新提示文本)MsgBox "图片设置已完成!" & vbCrLf & vbCrLf & _"所有图片已设置为页面宽度、居中对齐,并取消首行缩进。", _vbInformation, "图片样式设置"' 重新开启屏幕更新Application.ScreenUpdating = True
End SubSub C设置正文样式()' 关闭屏幕更新和响应提示以提高宏运行速度Application.ScreenUpdating = FalseApplication.DisplayAlerts = wdAlertsNoneDim para As Paragraph' 遍历文档中的所有段落For Each para In ActiveDocument.Paragraphs' 判断段落样式并应用相应格式Select Case para.styleCase "正文"With para.Range.Font.Name = "宋体".Size = 12    ' 小四号对应12磅.Color = RGB(0, 0, 0) ' 黑色.Bold = False.Italic = FalseEnd With' ★ 新增:检查段落是否包含图片或表格,不进行缩进If para.Range.InlineShapes.Count = 0 And para.Range.Tables.Count = 0 ThenWith para.Range.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5  ' 1.5倍行距.SpaceBefore = 0.SpaceAfter = 0.CharacterUnitFirstLineIndent = 2   ' 首行缩进2个字符End WithElse' 对于包含图片或表格的段落,只设置基本段落格式,不缩进With para.Range.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5.SpaceBefore = 0.SpaceAfter = 0.CharacterUnitFirstLineIndent = 0   ' 取消缩进.FirstLineIndent = 0                ' 取消磅单位缩进End With' 设置表格的字体为五号With para.Range.Font.Name = "宋体".Size = 10.5             ' 五号对应10.5磅.Color = RGB(0, 0, 0)    ' 黑色.Bold = False.Italic = FalseEnd WithEnd IfEnd SelectNext para' 恢复屏幕更新和提示Application.ScreenUpdating = TrueApplication.DisplayAlerts = wdAlertsAll' 弹窗显示设置结果MsgBox "正文设置已完成!" & vbCrLf & vbCrLf & _"正文:  宋体,小四(12磅),1.5倍行距" & vbCrLf & _"       普通段落:首行缩进2字符" & vbCrLf & _"       图片/表格段落:无缩进", _vbInformation, "正文样式设置"
End SubSub D清除现有列表样式()' 清除选定区域或全文的现有列表格式If Selection.Range.Start = Selection.Range.End Then' 如果未选中任何内容,则处理整个文档ActiveDocument.Range.ListFormat.RemoveNumbersElse' 如果已选中内容,则处理选中部分Selection.Range.ListFormat.RemoveNumbersEnd If' 弹窗显示设置结果MsgBox "样式已清除!", _vbInformation, "清除样式设置"End SubSub F带中文编号的多级列表()Dim listTemplate As listTemplateSet listTemplate = ActiveDocument.ListTemplates.Add(OutlineNumbered:=True)With listTemplate' 第1级:第一章With .ListLevels(1).NumberFormat = "第%1章"                   ' 设置编号格式为"第1章"等形式,%1代表第一级数字.NumberStyle = wdListNumberStyleArabic     ' 设置编号样式为阿拉伯数字.LinkedStyle = "标题 1"                    ' 将此列表级别链接到"标题 1"样式.NumberPosition = 0                        ' 设置编号的悬挂缩进位置(单位为磅).TextPosition = 54                         ' 设置文本的缩进位置(单位为磅).StartAt = 1                               ' 设置起始编号为1.TrailingCharacter = wdTrailingSpace       ' 设置编号后的尾随字符为空格(与文本分隔)End With' 第2级:1.1With .ListLevels(2).NumberFormat = "%1.%2".NumberStyle = wdListNumberStyleArabic.LinkedStyle = "标题 2".NumberPosition = 54.TextPosition = 90.StartAt = 1.TrailingCharacter = wdTrailingSpace.ResetOnHigher = 1End With' 第3级:1.1.1With .ListLevels(3).NumberFormat = "%1.%2.%3".NumberStyle = wdListNumberStyleArabic.LinkedStyle = "标题 3".NumberPosition = 90.TextPosition = 126.StartAt = 1.TrailingCharacter = wdTrailingSpace.ResetOnHigher = 2End With' 第4级:1.1.1.1With .ListLevels(4).NumberFormat = "%1.%2.%3.%4".NumberStyle = wdListNumberStyleArabic.LinkedStyle = "标题 4".NumberPosition = 126.TextPosition = 162.StartAt = 1.TrailingCharacter = wdTrailingSpace.ResetOnHigher = 3End With' 第5级: 1.1.1.1.1With .ListLevels(5).NumberFormat = "%1.%2.%3.%4.%5".NumberStyle = wdListNumberStyleArabic.LinkedStyle = "标题 5".NumberPosition = 162.TextPosition = 198.StartAt = 1.TrailingCharacter = wdTrailingSpace.ResetOnHigher = 4End With' 第6级:(1)With .ListLevels(6).NumberFormat = "(%6)".NumberStyle = wdListNumberStyleArabic.LinkedStyle = "标题 6".NumberPosition = 198.TextPosition = 234.StartAt = 1.TrailingCharacter = wdTrailingSpace.ResetOnHigher = 5End WithEnd With' 设置标题样式的字体格式SetHeadingStylesFormat' 遍历所有段落,应用标题样式For Each para In ActiveDocument.ParagraphsIf para.style Like "标题 *" ThenDim level As Integerlevel = Val(Right(para.style, 1))' 保存原始对齐方式originalAlignment = para.Range.ParagraphFormat.AlignmentIf level >= 1 And level <= 6 Then' 应用对应的中文标题样式para.style = ActiveDocument.Styles("标题 " & level)End If' 恢复原始对齐方式para.Range.ParagraphFormat.Alignment = originalAlignmentEnd IfNext paraMsgBox "标题样式设置完成!", vbInformation, "标题样式设置"End Sub' 设置标题样式的字体格式
Function SetHeadingStylesFormat()On Error Resume Next' 标题1样式设置:第一章With ActiveDocument.Styles("标题 1").Font.Name = "黑体"                   ' 字体.Size = 22                       ' 字号 二号.Bold = True                     ' 加粗.Color = RGB(0, 0, 0)            ' 黑色.Italic = False                  ' 非斜体.Underline = wdUnderlineNone     ' 无下划线End WithWith ActiveDocument.Styles("标题 1").ParagraphFormat.Alignment = wdAlignParagraphLeft    ' 左对齐.LineSpacingRule = wdLineSpaceSingle ' 单倍行距.SpaceBefore = 12                ' 段前间距.SpaceAfter = 6                  ' 段后间距' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End With' 标题2样式设置:1.1With ActiveDocument.Styles("标题 2").Font.Name = "黑体".Size = 16                       ' 字体 三号.Bold = True.Color = RGB(0, 0, 0)            ' 黑色.Italic = FalseEnd WithWith ActiveDocument.Styles("标题 2").ParagraphFormat.Alignment = wdAlignParagraphLeft    ' 左对齐.LineSpacingRule = wdLineSpaceSingle.SpaceBefore = 12.SpaceAfter = 6.FirstLineIndent = 0             ' 首行不缩进' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End With' 标题3样式设置:1.1.1With ActiveDocument.Styles("标题 3").Font.Name = "宋体".Size = 14                      ' 字体 四号.Bold = True.Color = RGB(0, 0, 0).Italic = FalseEnd WithWith ActiveDocument.Styles("标题 3").ParagraphFormat.Alignment = wdAlignParagraphLeft.LineSpacingRule = wdLineSpaceSingle.SpaceBefore = 6.SpaceAfter = 3.FirstLineIndent = 0' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End With' 标题4样式设置:1.1.1.1With ActiveDocument.Styles("标题 4").Font.Name = "宋体".Size = 12                  '字体 小四.Bold = True.Color = RGB(0, 0, 0).Italic = FalseEnd WithWith ActiveDocument.Styles("标题 4").ParagraphFormat.Alignment = wdAlignParagraphLeft.LineSpacingRule = wdLineSpaceSingle.SpaceBefore = 6.SpaceAfter = 3.FirstLineIndent = 0' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End With' 标题5样式设置:1.1.1.1.1With ActiveDocument.Styles("标题 5").Font.Name = "宋体".Size = 12                       ' 字体 小四.Bold = False                    ' 不加粗.Color = RGB(0, 0, 0).Italic = FalseEnd WithWith ActiveDocument.Styles("标题 5").ParagraphFormat.Alignment = wdAlignParagraphLeft.LineSpacingRule = wdLineSpaceSingle.SpaceBefore = 3.SpaceAfter = 3.FirstLineIndent = 0' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End With' 标题6样式设置:(1)With ActiveDocument.Styles("标题 6").Font.Name = "宋体".Size = 12.Bold = False.Color = RGB(0, 0, 0).Italic = FalseEnd WithWith ActiveDocument.Styles("标题 6").ParagraphFormat.Alignment = wdAlignParagraphLeft.LineSpacingRule = wdLineSpaceSingle.SpaceBefore = 3.SpaceAfter = 3.FirstLineIndent = 0' 关键:设置所有缩进为0.LeftIndent = 0.RightIndent = 0.FirstLineIndent = 0.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0End WithOn Error GoTo 0
End Function' 创建目录样式,并刷新目录
Sub G刷新目录()On Error Resume NextApplication.ScreenUpdating = FalseDim originalRange As RangeSet originalRange = Selection.Range' 检查是否存在目录If ActiveDocument.TablesOfContents.Count = 0 ThenIf MsgBox("文档中没有找到目录,是否创建目录?", vbYesNo + vbQuestion, "创建目录") = vbYes ThenCreateTOCElseApplication.ScreenUpdating = TrueExit SubEnd IfEnd If' 设置目录样式SetAllTOCStyles' 刷新目录UpdateAllTOC' 返回原位置originalRange.SelectApplication.ScreenUpdating = TrueMsgBox "目录样式设置完成!" & vbCrLf & _"字体:宋体" & vbCrLf & _"字号:小四(12磅)", vbInformation, "目录格式设置"
End Sub' 创建目录(在第2页)
Function CreateTOC()' 移动到文档开头Selection.HomeKey Unit:=wdStory' 如果文档页数不足2页,则插入分页符直到有第2页If ActiveDocument.ComputeStatistics(wdStatisticPages) < 2 ThenSelection.InsertBreak Type:=wdPageBreakEnd If' 移动到第1页开头MoveToPage 1' 插入分页符,确保目录从新页面开始(如果需要)If Selection.Information(wdActiveEndPageNumber) <> 2 ThenSelection.InsertBreak Type:=wdPageBreakMoveToPage 2End If' 添加"目录"标题Selection.style = ActiveDocument.Styles("标题 1")Selection.TypeText text:="目录"Selection.TypeParagraph' 插入目录字段ActiveDocument.TablesOfContents.Add _Range:=Selection.Range, _RightAlignPageNumbers:=True, _UseHeadingStyles:=True, _UpperHeadingLevel:=1, _LowerHeadingLevel:=3, _IncludePageNumbers:=True, _UseHyperlinks:=True, _AddedStyles:="", _UseFields:=True, _TableID:=""' 在目录后添加分页符,确保后续内容从新页面开始Selection.InsertBreak Type:=wdPageBreakEnd Function' 跳转到指定页码
Function MoveToPage(pageNumber As Integer)On Error Resume NextSelection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=pageNumber
End Function' 设置所有目录样式
Function SetAllTOCStyles()Dim i As IntegerDim style As style' 设置1-9级目录样式For i = 1 To 9SetTOCStyleWithLevel "目录 " & i, "宋体", 12SetTOCStyleWithLevel "TOC " & i, "宋体", 12Next i
End Function' 设置带级别的目录样式
Function SetTOCStyleWithLevel(styleName As String, fontName As String, fontSize As Single)On Error Resume NextDim style As styleSet style = ActiveDocument.Styles(styleName)If Not style Is Nothing ThenWith style.Font.Name = fontName.NameFarEast = fontName.Size = fontSizeEnd With' 设置缩进(根据级别)With style.ParagraphFormat.LeftIndent = CentimetersToPoints(0).FirstLineIndent = CentimetersToPoints(0).LineSpacingRule = wdLineSpaceSingle.SpaceAfter = 3End WithEnd If
End Function' 刷新所有目录
Function UpdateAllTOC()Dim toc As TableOfContentsDim table As TableOfFigures' 刷新正文目录For Each toc In ActiveDocument.TablesOfContentstoc.UpdateNext toc' 刷新图表目录For Each table In ActiveDocument.TablesOfFigurestable.UpdateNext table
End FunctionSub H调整文档中标题等级()Dim para As ParagraphDim currentStyle As styleDim highestLevel As IntegerDim levelOffset As IntegerDim i As Integer' 初始化最高级别为最大值highestLevel = 9' 第一步:扫描文档,找出最低的标题级别(数字最小的)For Each para In ActiveDocument.ParagraphsIf para.style Like "标题 *" Then' 提取标题级别数字i = Val(Right(para.style, 1))If i < highestLevel ThenhighestLevel = iEnd IfEnd IfNext para' 如果没有找到任何标题,退出宏If highestLevel = 9 ThenMsgBox "文档中没有找到标题样式。"Exit SubEnd If' 第二步:如果最高级别已经是1,无需调整If highestLevel = 1 ThenMsgBox "文档中已包含级别1标题,无需调整。"Exit SubEnd If' 计算需要升级的级数levelOffset = highestLevel - 1' 第三步:遍历所有段落,调整标题级别For Each para In ActiveDocument.ParagraphsIf para.style Like "标题 *" Then' 保存原始对齐方式originalAlignment = para.Range.ParagraphFormat.Alignment' 提取当前标题级别i = Val(Right(para.style, 1))' 计算新的标题级别Dim newLevel As IntegernewLevel = i - levelOffset' 确保新级别在有效范围内(1-9)If newLevel >= 1 And newLevel <= 9 Then' 应用新的标题样式para.style = "标题 " & newLevelElseIf newLevel < 1 Then' 如果计算出的级别小于1,强制设为1para.style = "标题 1"End If' 恢复原始对齐方式para.Range.ParagraphFormat.Alignment = originalAlignmentEnd IfNext paraMsgBox "标题级别调整完成!原最高级别" & highestLevel & "已调整为级别1。"
End SubSub D清除现有列表样式_非标准编号()Dim para As ParagraphDim rng As RangeDim counter As IntegerDim originalText As StringDim newText As Stringcounter = 0Application.ScreenUpdating = FalseFor Each para In ActiveDocument.ParagraphsIf para.style Like "标题 *" ThenSet rng = para.RangeoriginalText = rng.text' 去除段落结束标记(通常是回车符)originalText = Left(originalText, Len(originalText) - 1)' 检查是否有编号模式If HasNumberPattern(originalText) ThennewText = RemoveNumberPatterns(originalText)' 只有当文本确实发生变化时才更新If newText <> originalText Then' 重要:只替换文本内容,保持段落结构完整rng.MoveEnd wdCharacter, -1 ' 排除段落标记rng.text = newTextcounter = counter + 1' 重新应用标题样式Dim level As Integerlevel = GetHeadingLevel(para.style)If level > 0 Thenrng.style = "标题 " & levelEnd IfEnd IfEnd If' 清除列表格式(安全操作)On Error Resume Nextpara.Range.ListFormat.RemoveNumbersOn Error GoTo 0End IfNext paraApplication.ScreenUpdating = TrueMsgBox "已快速清理 " & counter & " 个标题的非标准编号。"
End SubFunction RemoveNumberPatterns(text As String) As StringDim result As Stringresult = text' 去除各种常见的编号模式' 1. 数字+点+空格 (如 "1. ", "1.1. ", "1.1.1. ")' 2. 数字+空格 (如 "1 ", "1.1 ","1.1.1 ")result = RegExReplace(result, "^\d+\.\d+\.\d+\.\d+\.\d+\.\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\d+\.\d+\.\d+\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\d+\.\d+\.\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\d+\.\d+\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\d+\.\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\d+\s?", "")result = RegExReplace(result, "^\d+\.\d+\.\s?", "")result = RegExReplace(result, "^\d+\.\d+\s?", "")result = RegExReplace(result, "^\d+\.\s?", "")result = RegExReplace(result, "^\d+\s?", "")' 3. 中文数字+顿号 (如 "一、", "二、")result = RegExReplace(result, "^[一二三四五六七八九十]、", "")' 4. 字母+点+空格 (如 "A. ", "a. ")result = RegExReplace(result, "^[A-Za-z]\.\s?", "")' 5. 罗马数字+点+空格 (如 "I. ", "II. ")result = RegExReplace(result, "^[IVXLCDM]+\.\s?", "")' 6. 带括号的数字 (如 "(1)", "(1.1)")result = RegExReplace(result, "^\(\d+\)\s?", "")result = RegExReplace(result, "^\(\d+\.\d+\)\s?", "")' 7. 去除开头空格result = Trim(result)RemoveNumberPatterns = result
End Function' 正则表达式替换函数
Function RegExReplace(text As String, pattern As String, replacement As String) As StringDim regEx As ObjectSet regEx = CreateObject("VBScript.RegExp")With regEx.Global = True.IgnoreCase = True.MultiLine = False.pattern = patternEnd WithIf regEx.Test(text) ThenRegExReplace = regEx.Replace(text, replacement)ElseRegExReplace = textEnd If
End FunctionFunction HasNumberPattern(text As String) As Boolean' 检测文本是否包含常见的编号模式Dim patterns(10) As StringDim i As Integerpatterns(0) = "^\d+\."              ' 数字+点patterns(1) = "^\d+"                ' 数字patterns(2) = "^[一二三四五六七八九十]、" ' 中文数字patterns(3) = "^[A-Za-z]\."         ' 字母+点patterns(4) = "^[IVXLCDM]+\."       ' 罗马数字patterns(5) = "^\(\d+\)"            ' 括号数字For i = 0 To 5If RegExTest(text, patterns(i)) ThenHasNumberPattern = TrueExit FunctionEnd IfNext iHasNumberPattern = False
End FunctionFunction RegExTest(text As String, pattern As String) As BooleanDim regEx As ObjectSet regEx = CreateObject("VBScript.RegExp")With regEx.Global = False.IgnoreCase = True.pattern = patternEnd WithRegExTest = regEx.Test(text)
End FunctionFunction GetHeadingLevel(styleName As String) As IntegerIf styleName Like "标题 *" ThenGetHeadingLevel = Val(Right(styleName, 1))ElseGetHeadingLevel = 0End If
End Function

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/933666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年金属线槽厂家最新推荐排行榜:覆盖不锈钢 / 铝合金 / 防火 / 大跨距 / 喷塑类型,帮您选优质厂家企业

在工业生产、建筑电气及数据中心建设飞速发展的当下,金属线槽作为线缆保护与管理的关键设施,市场需求日益增长,但行业乱象让采购者难以抉择。众多品牌混杂,部分产品质量不达标,抗腐蚀、抗冲击性能差,无法适应特殊…

2025电子行业隧道式烘干炉/PCB板固化炉设备厂家推荐品牌/汽车行业隧道式烤炉选择哪家/汽车喷涂固化炉设备厂家对比

上海柏毅试验设备有限公司于2010年在上海正式创立,总部位于安亭上海国际汽车城,生产基地总占地面积40余亩。是国内专注于环境试验设备研发、生产、销售与服务的专精特新、高新技术企业。十余年来,公司聚焦核心业务深…

基于蚁群算法的PID参数整定方法及MATLAB实现

一、算法原理与流程 1. 核心机制信息素更新:通过正反馈强化优质解其中ρ为挥发系数,\(Δτ_{ij}\)为路径增量路径选择概率:\(α\)(信息素重要度)、\(β\)(启发式因子重要度)2. 改进策略莱维飞行优化:引入\(Lvy…

2025 年电缆桥架厂家最新推荐排行榜:精选不锈钢 / 铝合金 / 热镀锌等多类型优质桥架厂家,助力精准选购热镀锌/热浸锌/托盘式/防火/喷塑电/防火喷塑电缆桥架厂家推荐

在现代建筑电气、工业自动化及数据中心等领域,电缆桥架作为核心基础设施,对线缆的承载、保护与管理起着关键作用。然而当前行业乱象频发,部分厂家用劣质原材料生产,导致桥架易腐蚀、断裂,埋下安全隐患;产品质量参…

Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包

一、Origin 2025b软件下载: 1、软件名称:Origin 2025b 2、软件大小: 2.17 GB 3、安装环境:Win 7及以上系统 4、下载链接:https://pan.quark.cn/s/1fd95311a29a 二、Origin 2025b安装教程 注意!!!开始解压安装前…

【完整源码+素材集+部署教程】法兰图像分割系统: yolov8-seg-C2f-REPVGGOREPA

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:python解析通达信dat与blk数据文件【附源码】

实用指南:python解析通达信dat与blk数据文件【附源码】pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

nohup java按天输出日志

使用nohup命令运行时按天输出程序日志 nohup app p1 p2 > nohup_$(date +\%Y-\%m-\%d).log & 此方式不仅可以输出java程序打印的日志,也可以输出其它程序日期,如go或者C#程序的日志

st表模板

点击查看代码 #include <bits/stdc++.h>using namespace std;const int N = 2000001; const int logN = 21;int f[N][logN + 1], lg[N + 1]; //vector<int>可能会爆内存void pre(){lg[1] = 0;lg[2] = 1;fo…

【SPIE出版|往届已EI检索】第四届交通运输工程前沿国际学术会议(FTTE 2025)

第四届交通运输工程前沿国际学术会议(FTTE 2025)将于2025年10月31日-11月2日在中国桂林举行。本次会议主要围绕交通运输规划与系统优化、智能交通系统理论与应用技术、交通运输安全与可持续发展、交通基础设施设计与…

针对html字符串进行关键字高亮匹配

highlightKeyword(keyword, htmlString) {const str = keyword.trim().replace(/\s+/g, ,)const arr = str.split(,)const _arr = arr.map(val => {return val.replace(/[.*+?^${}()|[\]\\]/g, \\$&)})const r…

2025 年北京精品旅游旅行社联系方式推荐:北京汇通清源定制旅行与一站式服务解决方案解析

随着消费升级与旅游需求多元化,传统走马观花式旅游已难以满足游客需求,高品质、个性化的定制旅游成为市场新趋势。北京作为历史文化名城与旅游热门目的地,旅行社数量众多,但行业内仍存在行程同质化、强制购物、服务…

详细介绍:百度Qianfan-VL系列上线:推出3B/8B/70B三款视觉理解模型,覆盖不同算力需求

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CesiumGlobeAnchor

CesiumGlobeAnchor 是一个核心组件,用于将 Unreal Engine 中的 Actor(如模型、标记点、几何体等)精准绑定到地球表面的地理坐标,确保 Actor 在地球缩放、旋转或移动时始终保持在正确的地理位置上。

技术复习要点清单

好的,根据您的简历和目标岗位(高级前端架构师-云原生方向)的要求,我为您梳理了一份详尽的技术复习要点清单。这份清单不仅包括需要“知道”的知识,更侧重于需要“深入理解并能清晰阐述”的原理和设计思路。一、 核…

res-downloader v2.1.2 全平台资源下载工具深度指南:支持视频号/抖音/音视频嗅探,附常见问题解决方案

创作者的「资源获取效率神器」 在多媒体创作、素材整理场景中,如何高效获取各平台音视频、图片资源,是提升工作流效率的关键痛点。res-downloader v2.1.2 作为基于 electron-vite-vue 开发的轻量化资源下载工具,凭借…

从设备监控到全局调控,MyEMS 如何构建 “全链路” 能源管理体系?

在 “双碳” 目标深化推进与能源结构转型加速的背景下,企业对能源管理的需求已从单一的 “能耗统计” 升级为 “全流程优化、全要素管控”。传统能源管理模式普遍存在数据孤岛、调控滞后、决策依赖经验等痛点,难以应…

实用指南:大模型产品求职全攻略:从零基础到斩获Offer,揭秘你是否真的适合!

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

题解:AT_mujin_pc_2017_d Oriented Tree

题意:给出一棵树,现在你可以将其定向,记 \(d(u,v)\) 为从 \(u\) 到 \(v\) 需要逆多少条边才能走到。记 \(D\) 为所有的定向方式的 \(\max d(u,v)\),问有多少颗树 \(\max d(u,v)\) 等于 \(D\)。\(n\le 1000\)。 做法…

Redis缓存穿透优化

目录背景和价值一、核心方案1:拦截无效请求——从源头过滤不存在的Key1. 布隆过滤器(Bloom Filter):高效拦截不存在的Key2. 业务规则校验:过滤明显无效的请求二、核心方案2:缓存空数据——避免相同无效请求重复穿…