`
wyhlzxl
  • 浏览: 34542 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类

vba实现我wiki上表格的自动生成

    博客分类:
  • vba
阅读更多
    *  第一行必须是表头
    * 可以识别加粗字体
    * 可以识别左中右水平对齐

' CreateWikiTable:将excel表格转化成符合MediaWiki格式的html文;可以用excel进行直观的编辑,生成后直接粘贴到wiki中使用
' 使用说明:表格宽度和长度结束标志为无内容的空行或者空列,第一行为表头

Sub CreateWikiTable()
     Dim iWidth As Integer
     Dim iLength As Integer
     Dim strWiki As String

     iWidth = GetFormWidth()
     iLength = GetFormLength()

     strWiki = GetWikiFormHead(iWidth)
     strWiki = strWiki + GetWikiFormBody(iWidth, iLength)
     strWiki = strWiki + GetWikiFormTail(iWidth)

     Debug.Print strWiki

End Sub

' 返回表头代码
Function GetWikiFormHead(iWidth As Integer) As String
     Dim i As Integer
     GetWikiFormHead = "{|border=" + Chr(34) + "1" + Chr(34) + " cellspacing=" + Chr(34) + "0" + Chr(34) + Chr(10)
     For i = 1 To iWidth
         GetWikiFormHead = GetWikiFormHead + "| " + GetFormatString(1, i) + Chr(10)
     Next i
End Function

' 返回表体代码
Function GetWikiFormBody(iWidth As Integer, iLength As Integer) As String
     Dim i As Integer
     Dim j As Integer

     GetWikiFormBody = ""
     For i = 2 To iLength
         GetWikiFormBody = GetWikiFormBody + "|-" + Chr(10)
         For j = 1 To iWidth
            GetWikiFormBody = GetWikiFormBody + "| " + GetFormatString(i, j) + Chr(10)
         Next j
     Next i
End Function

' 返回表格尾部wiki代码
Function GetWikiFormTail(iWidth As Integer) As String
     GetWikiFormTail = "|}"
End Function

' 获取内容串,根据excel格式自动加上加粗、中对齐和右对齐
Function GetFormatString(iRow As Integer, iCol As Integer) As String
     GetFormatString = Cells(iRow, iCol).Text
     If (Cells(iRow, iCol).Font.Bold = True) Then
         GetFormatString = "<b>" + GetFormatString + "</b>"
     End If

     If (Cells(iRow, iCol).HorizontalAlignment = xlCenter) Then
         GetFormatString = "align=" + Chr(34) + "center" + Chr(34) + " | " + GetFormatString
     ElseIf (Cells(iRow, iCol).HorizontalAlignment = xlRight) Then
         GetFormatString = "align=" + Chr(34) + "right" + Chr(34) + " | " + GetFormatString
     End If

End Function

' 返回表格宽度
Function GetFormWidth() As Integer
     GetFormWidth = 0
     Dim i As Integer

     i = 1
     While (Cells(1, i).Text <> "")
         i = i + 1
     Wend

     GetFormWidth = i - 1
End Function

' 返回表格高度
Function GetFormLength() As Integer
     GetFormLength = 0

     Dim i As Integer

     i = 1
     While (Cells(i, 1).Text <> "")
         i = i + 1
     Wend

     GetFormLength = i - 1
End Function
分享到:
评论

相关推荐

    VBA自动生成代码工具

    VBA(Visual Basic for Applications)是一种内置在Microsoft Office套件中的编程语言,允许用户自定义工作流程、自动化...通过学习和理解这些知识点,VBA开发者可以更好地优化自己的工作流程,实现代码生成的自动化。

    用VBA做的根据自动模板批量生成新表格

    用VBA制成的可根据模板工作表,批量生成新的工作表,并能自动编号及工作表命名。

    excel用VBA自动生成条码

    excel VBA学习,结合excel公式和VBA自动生成所需要的条码信息,并自动打印,代码写的不好,仅供学习!

    VBA代码实现CAD假表格转excel表格

    通过VBA代码高效实现CAD线段构成的表格转换到EXCEL,主要方法是用IntersectWith函数获取所有线段的交点,并对交点的X,Y坐标排序,建立EXCEL输出表格行列关系,然后通过文字与X,Y坐标的关系,确定文字所在行列位置。

    文件目录管理VBA自动生成 (1)_VBA目录生成_VBa_VBA文件目录自动生成_vba自动目录_

    综上所述,VBA自动生成文件目录是一项实用的技能,尤其对于经常处理大量文件的IT专业人员。通过编写VBA代码,你可以实现即时查找和打开文件,优化文件管理工作流程,从而节省宝贵的时间。在实际项目中,结合实际需求...

    VBA数据录入工具自动生成Excel

    VBA(Visual Basic for Applications)是一种在Microsoft Office套件中广泛使用的编程语言,它允许用户创建自定义功能和自动化任务,比如我们所讨论的“VBA数据录入工具自动生成Excel”。这个工具通过VBA编程实现了...

    基于VBA的试卷生成器

    **基于VBA的试卷生成器**是一种利用Visual Basic for Applications(VBA)编程语言来创建自动化工具,可以自动生成包含试题和答案的Word文档。VBA是Microsoft Office套件中的内置编程环境,允许用户通过宏或其他脚本...

    Excel表格利用VBA代码实现定时自动向下跳动展示

    Excel表格利用VBA代码实现定时自动向下跳动展示,可自定义设置跳动时间,和跳动间隔,用于展示表格内容!只需设置好范围 如:表格到第“10”行结束返回,那么巡航范围只需设置10即可!还何以设置向下跳动的距离 如:...

    自动编码_VBA自动编码_

    在Excel中使用VBA实现自动编码,主要步骤包括以下几个方面: 1. **定义编码规则**:编码规则是自动编码的核心。你可以定义如年份、月份、流水号等组合,例如“2023040001”表示2023年4月的第一个记录。规则可以灵活...

    基于VBA的数据报告自动生成系统

    采用Microsoft Basic 6.0 编程工具,利用VBA语言通过宏录制技术和嵌入控件及对象技术将Excel应用程序中的数据自动生成图表,并实现Excel工作簿和Word文档两个应用程序之间的数据无缝连接,进而通过Word文档的书签...

    Excel实现自动字段名翻译程序(VBA实现)

    Excel作为一个强大的数据处理工具,配合VBA(Visual Basic for Applications)宏语言,可以实现自动化的工作流程,比如字段名的翻译。本篇文章将深入探讨如何利用Excel VBA实现自动字段名翻译程序,并针对描述和标签...

    二维码小工具 -VBA_二维码vba_二维码_二维码生成_VBa_VBA二维码_

    二维码小工具 - VBA_二维码vba_二维码_二维码生成_VBa_VBA二维码是一个使用VBA(Visual Basic for Applications)编程实现的Excel宏工具,它允许用户在Excel环境中生成二维码。VBA是Microsoft Office套件中内置的一...

    VBA生成折线图

    VBA生成折线图VBA生成折线图VBA生成折线图

    VBA实现EXCEL多表格多条件查询

    VBA实现EXCEL多表格多条件查询 For i = 1 To Workbooks.Count For Each c In Sheets(i).UsedRange If c.Value &gt;= 150 And c.Value c1 = c1 + c.Value n = n + 1 End If ‘更多条件…… Next Next

    二维码生成器(VBA纯代码).zip

    二维码生成器(VBA纯代码)是一种使用Visual Basic for Applications (VBA)编程语言实现的工具,它可以无需依赖任何外部库或组件,仅通过内部代码就能创建二维码。VBA是Microsoft Office套件中内置的一种编程环境,它...

    VBA楼栋-单元-房号生成工具

    VBA楼栋-单元-房号生成工具

    Excle VBA实现彩票号码随机生成

    Excle VBA实现彩票号码随机生成,彩票号码随机生成器

    用Excel VBA方法实现报表自动生成.pdf

    在本主题中,我们讨论了如何使用Excel VBA(Visual Basic for Applications)实现报表的自动生成并导出为PDF格式。Excel VBA是Excel内置的编程语言,可以让用户通过编写宏来自动化Excel中的一系列任务,极大地提高...

    利用VBA实现Excel电子表格自动分页统计优质资料.doc

    综上所述,利用VBA实现Excel电子表格的自动分页统计是一种高效的数据处理方式,通过宏的录制、编辑和执行,可以定制化满足特定需求的统计功能,提升办公效率。在实际工作中,学习和掌握VBA编程技巧,能够极大地提升...

    VBA开发报表自动生成

    利用VBA实现报表自动生成,VBA语言简单入门

Global site tag (gtag.js) - Google Analytics