首页 > 其他分享 >创建超链接

创建超链接

时间:2024-05-26 09:01:32浏览次数:17  
标签:index Selection 创建 True 超链接 table my row

Sub 创建超链接()
'
' 创建超链接 宏
' 为所选择的表格的第一列的cmdlet命令创建对应的超链接(前提是已经存在对应的命令说明内容)
' 只处理第一个表格
'
    Application.ScreenUpdating = False                          '关闭同步调整更新

    
    Dim my_table As Table
    If (0 = Selection.Tables.Count) Then
        '所选内容没有表格存在
        MsgBox ("所选内容没有表格存在")
        Exit Sub
    End If
    Set my_table = Selection.Tables(1)
    Dim table_Rows As Long
    table_Rows = my_table.Rows.Count
    Dim row_index As Long
    row_index = 1
    
    Dim regex As Object '声明
    Set regex = CreateObject("VBScript.RegExp") '创建正则对象
    With regex:
        .Pattern = "^[\w-]+"                  '设置正则表达式
    End With
    
    
    Do
        Dim temp_str As String
        temp_str = my_table.Cell(row_index, 1).Range.Text
        Dim my_Matches As Object
        Set my_Matches = regex.Execute(temp_str)
        If (0 < my_Matches.Count) Then
            Result = select_range("cmdlet 命令", "Server 2016 core")    '选择查询范围,否则会因为之前选择了表格导致找不到
            Selection.Find.ClearFormatting  '清除之前的查询格式、选项
            '设置现在的查询格式
            With Selection.Find
                .Style = ActiveDocument.Styles("标题 2")
                .Forward = True
                .Wrap = wdFindContinue
                .Format = True
                .MatchCase = False          '是否区分大小写
                .MatchWholeWord = False
                .MatchByte = True
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
                .MatchWholeWord = True      '是否全字匹配
                .MatchPrefix = True         '匹配前缀
                .MatchSuffix = True         '匹配后缀
                .Text = my_Matches(0).Value
                If (.Execute) Then
                    Selection.Copy
                    '要定位到表格中
                    my_table.Cell(row_index, 1).Select
                    'Selection.Delete
                    CreateObject("Excel.Application").Wait (Now + TimeValue("00:00:01"))    '必须加上延时,否则会报运行时错误4198
                    Selection.PasteSpecial Link:=True, DataType:=wdPasteHyperlink
                    
            End If
            End With
        End If
        
        row_index = row_index + 1
    Loop While row_index <= table_Rows
    Application.ScreenUpdating = True                          '开启同步调整更新
    
End Sub

 

标签:index,Selection,创建,True,超链接,table,my,row
From: https://www.cnblogs.com/love-DanDan/p/18213343

相关文章

  • 如何使用 Channel 类来创建一个生产者-消费者模型
    如何使用Channel类来创建一个生产者-消费者模型.NET中Channel类简单使用 Channel是干什么的TheSystem.Threading.Channelsnamespaceprovidesasetofsynchronizationdatastructuresforpassingdatabetweenproducersandconsumersasynchronously.Theli......
  • 创建3D 视频:CreateStudio 3.X Crack
    轻松创建皮克斯风格的3D视频像皮克斯一样构建您自己的3D角色,只需点击一下即可制作动画并制作令人惊叹的视频。 (不需要技术或设计技能)。......
  • Django中型项目的目录结构和一个应用创建启动示例
    一个中等Django项目的目录结构包含多个应用、配置文件、静态文件和模板文件等。myproject/├──manage.py#Django项目管理脚本,用于运行服务器、迁移数据库等管理命令├──myproject/#项目配置目录,包含全局配置文件和静态、模板文件│├──__init__.......
  • JAVAEE之线程(10)_线程池、线程池的创建、实现线程池
    一线程池1.1为什么要有线程池? 线程池顾名思义是由多个线程所组成,作用就是减少线程的建立与销毁,与数据库连接池相同概念,为了减少连接与释放,从而降低消耗提升效率。1.2线程池的优势总体来说,线程池有如下的优势:降低资源消耗。通过重复利用已创建的线程降低线程创建和......
  • HarmonyOS 鸿蒙应用开发 - 创建自定义组件
     开发者定义的称为自定义组件。在进行UI界面开发时,通常不是简单的将系统组件进行组合使用,而是需要考虑代码可复用性、业务逻辑与UI分离,后续版本演进等因素。因此,将UI和部分业务逻辑封装成自定义组件是不可或缺的能力。1、创建自定义组件1、组件必须使用 @Component 修......
  • 创建一个txt文件
    在Python中创建一个文本文件(.txt)非常简单,你可以使用内置的文件操作函数。下面是一个基本示例,展示如何创建一个名为example.txt的空文本文件,并写入一些内容:#打开(或创建)一个文件用于写入withopen('example.txt','w')asfile:#写入一行文本file.write("这是文件中......
  • 创建文件夹
    在Python中创建一个文件夹(目录),可以使用os模块中的mkdir()或makedirs()函数。下面是两种情况的示例:创建单级目录如果你要创建一个单一层次的目录,可以使用os.mkdir()函数:importos#指定要创建的目录路径directory="my_new_directory"#使用os.mkdir()创建目录os.mkdir(d......
  • Django应用创建到启动的简单示例
    一、系统环境和前置安装Ubuntu系统192.168.2.101,客户端192.168.2.100python3及虚拟环境管理库python3-venv创建项目文件创建djangoweb项目配置ALLOW_HOSTS=['*']二、创建并注册app创建django-adminstartappapp1注册app修改项目配置文件settings.py,在INSTALLED_APPS......
  • mysql多实例创建
    mysql数据库(DBMS+数据库)系统:rock8.8mysql:mariabd-server10.3前提:关闭SElinux关闭防火墙时间同步安装mariabdyum-yinstallmariadb-server准备三个实例的目录mkdir-pv/mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}生成数据文件mysql_install_db--user=......
  • 在 Azure AI Studio 中创建项目并使用聊天演练场
    在AzureAIStudio中创建项目并使用聊天演练场See:CreateaprojectandusethechatplaygroundinAzureAIStudio-AzureAIStudio|MicrosoftLearn在本动手实验中,你将创建项目,部署聊天模型,然后在AzureAIStudio中的演练场中使用它。本动手实验包括:在AzureA......