ABAP EXCEL宏函数应用

news2024/9/23 15:30:47

【应用场景】

1.  excel导出项目及对应的分期,楼栋的各个产品类型对应的各个面积指标数据,

分项目/分期/楼栋三个SHEET页签。当用户在楼栋层级编辑完产品类型对应的面积指标时,可以

通过宏函数自下往上先汇总到相同产品类型+面积指标的分期层级,再自动汇总到项目层级面积指标。

2. 用户填报完excel数据后,点击【面积签入】按钮,通过宏函数自动触发接口对应的RFC函数,走对应的K2/OA审批流程。

【前置条件】

excel启用宏

【代码实现】

1. 注册工作薄打开事件

sheet保护密码设置等


'注册工作薄打开事件
Private Sub Workbook_Open()
    
        Let ProtectPassword = "77777"
        '撤销保护使用的sheet
        ProjectSheet.Unprotect ProtectPassword
        BuildingSheet.Unprotect ProtectPassword
        StageSheet.Unprotect ProtectPassword
        
        '设置字体
        ProjectSheet.Columns("a:z").Font.Name = "微软雅黑"
        StageSheet.Columns("a:z").Font.Name = "微软雅黑"
        BuildingSheet.Columns("a:z").Font.Name = "微软雅黑"
        '隐藏列
        StageSheet.Columns("AA:AN").EntireColumn.Hidden = True
        BuildingSheet.Columns("AA:AN").EntireColumn.Hidden = True
        ProjectSheet.Columns("AA:AN").EntireColumn.Hidden = True
        ProjectSheet.Columns("AO:AT").EntireColumn.Hidden = True
        StageSheet.Columns("AO:AT").EntireColumn.Hidden = True
        BuildingSheet.Columns("AO:AT").EntireColumn.Hidden = True
        
        '设置项目sheet版本信息锁定
        ProjectSheet.Range("A2:L5").Locked = True
     
        '设置单元格数据有效性
        Call clsBusiness.SetCellValidation
        

             
        '锁定单元格
        If ProjectSheet.Range("C5").Value = "1" Then
            
            'modify by 20210719:新增6个标签页---begin
            '清除未使用单元格样式
            ProjectSheet.Range("A" & CDbl(ProjectSheet.Range("A5").Value) + 8 & ":Q" & ProjectSheet.UsedRange.Rows.Count + 1).ClearFormats
            StageSheet.Range("A" & CDbl(StageSheet.Range("A6").Value) + 8 & ":X" & StageSheet.UsedRange.Rows.Count + 1).ClearFormats
            BuildingSheet.Range("A" & CDbl(BuildingSheet.Range("A5").Value) + 8 & ":V" & BuildingSheet.UsedRange.Rows.Count + 5).ClearFormats
            'modify by  at 20210719:新增6个标签页---end
            
            '当楼栋个数为0时
             If BuildingSheet.Range("A5").Value = "0" Then
                    BuildingSheet.Visible = xlSheetHidden
                    StageSheet.Unprotect ProtectPassword
                    'StageSheet.Range("F8:T" & CDbl(StageSheet.Range("A6").Value) + 7).Locked = False
                    StageSheet.Range("J8:X" & CDbl(StageSheet.Range("A6").Value) + 7).Locked = False            'modify by  at 20210719:新增6个标签页
             Else
                
                BuildingSheet.Range("C8:C" & BuildingSheet.Range("A5").Value + 7).Locked = False
                'BuildingSheet.Range("G8:Q" & BuildingSheet.Range("A5").Value + 7).Locked = False
                BuildingSheet.Range("K8:U" & BuildingSheet.Range("A5").Value + 7).Locked = False            'modify by at 20210719:新增6个标签页
               
               '根据分期下是否有楼栋来锁定单元格
                Dim row_buid As Integer
                For row_buid = 8 To CDbl(StageSheet.Range("A6").Value) + 7
                   If (StageSheet.Range("AF" & row_buid).Value = "1") Then
                         'StageSheet.Range("J" & row_buid & ":T" & row_buid).Interior.Color = StageSheet.Range("A8").Interior.Color
                         StageSheet.Range("N" & row_buid & ":X" & row_buid).Interior.Color = StageSheet.Range("A8").Interior.Color          'modify by c-zhabl01 at 20210719:新增6个标签页
                         'StageSheet.Range("J" & row_buid & ":T" & row_buid).Locked = True
                         StageSheet.Range("N" & row_buid & ":X" & row_buid).Locked = True                                   'modify by c-zhabl01 at 20210719:新增6个标签页
                   Else
                        'modify by c-zhabl01 at 20210719:新增6个标签页---begin
                         'StageSheet.Range("J" & row_buid & ":T" & row_buid).Interior.Color = StageSheet.Range("F" & row_buid).Interior.Color
                         'StageSheet.Range("J" & row_buid & ":T" & row_buid).Locked = False
                         StageSheet.Range("N" & row_buid & ":X" & row_buid).Interior.Color = StageSheet.Range("F" & row_buid).Interior.Color
                         StageSheet.Range("N" & row_buid & ":X" & row_buid).Locked = False
                         'modify by c-zhabl01 at 20210719:新增6个标签页---end
                   End If
                Next row_buid

             End If
            
             '当分期个数为0
             If StageSheet.Range("A6").Value = "0" Then
                'ProjectSheet.Range("D8:N" & ProjectSheet.Range("A5").Value + 7).Locked = False
                ProjectSheet.Range("G8:Q" & ProjectSheet.Range("A5").Value + 7).Locked = False  'modify by c-zhabl01 at 20210719:新增6个标签页
                StageSheet.Visible = xlSheetHidden
             Else
                'modify by c-zhabl01 at 20210719:新增6个标签页---begin
'                ProjectSheet.Range("D8:N" & ProjectSheet.Range("A5").Value + 7).Interior.Color = ProjectSheet.Range("A8").Interior.Color
'                StageSheet.Range("F8:K" & StageSheet.Range("A6").Value + 7).Locked = False
                ProjectSheet.Range("G8:Q" & ProjectSheet.Range("A5").Value + 7).Interior.Color = ProjectSheet.Range("A8").Interior.Color
                StageSheet.Range("J8:O" & StageSheet.Range("A6").Value + 7).Locked = False
                'modify by c-zhabl01 at 20210719:新增6个标签页---end
             End If
        End If
        
        
      'add by james 2018/06/25 物流开发有些字段不能输入
     If ProjectSheet.Range("AB5") = "Z010" Then
        'modify by c-zhabl01 at 20210719:新增6个标签页---begin
'        ProjectSheet.Range("I8:J" & ProjectSheet.Range("A5").Value + 7).Interior.Color = ProjectSheet.Range("A8").Interior.Color
'        ProjectSheet.Range("I8:J" & ProjectSheet.Range("A5").Value + 7).Locked = True
'        StageSheet.Range("K8:L" & StageSheet.Range("A6").Value + 7).Interior.Color = StageSheet.Range("A8").Interior.Color
'        StageSheet.Range("K8:L" & StageSheet.Range("A6").Value + 7).Locked = True
'        StageSheet.Range("O8:P" & StageSheet.Range("A6").Value + 7).Interior.Color = StageSheet.Range("A8").Interior.Color
'        StageSheet.Range("O8:P" & StageSheet.Range("A6").Value + 7).Locked = True
'        BuildingSheet.Range("H8:I" & BuildingSheet.Range("A5").Value + 7).Interior.Color = BuildingSheet.Range("A8").Interior.Color
'        BuildingSheet.Range("H8:I" & BuildingSheet.Range("A5").Value + 7).Locked = True
'        BuildingSheet.Range("L8:M" & BuildingSheet.Range("A5").Value + 7).Interior.Color = BuildingSheet.Range("A8").Interior.Color
'        BuildingSheet.Range("L8:M" & BuildingSheet.Range("A5").Value + 7).Locked = True
        ProjectSheet.Range("L8:M" & ProjectSheet.Range("A5").Value + 7).Interior.Color = ProjectSheet.Range("A8").Interior.Color
        ProjectSheet.Range("L8:M" & ProjectSheet.Range("A5").Value + 7).Locked = True
        StageSheet.Range("O8:Q" & StageSheet.Range("A6").Value + 7).Interior.Color = StageSheet.Range("A8").Interior.Color
        StageSheet.Range("O8:Q" & StageSheet.Range("A6").Value + 7).Locked = True
        StageSheet.Range("S8:T" & StageSheet.Range("A6").Value + 7).Interior.Color = StageSheet.Range("A8").Interior.Color
        StageSheet.Range("S8:T" & StageSheet.Range("A6").Value + 7).Locked = True
        BuildingSheet.Range("L8:M" & BuildingSheet.Range("A5").Value + 7).Interior.Color = BuildingSheet.Range("A8").Interior.Color
        BuildingSheet.Range("L8:M" & BuildingSheet.Range("A5").Value + 7).Locked = True
        BuildingSheet.Range("P8:R" & BuildingSheet.Range("A5").Value + 7).Interior.Color = BuildingSheet.Range("A8").Interior.Color
        BuildingSheet.Range("P8:R" & BuildingSheet.Range("A5").Value + 7).Locked = True
        'modify by c-zhabl01 at 20210719:新增6个标签页---end
     End If
         
         
         '按钮是否隐藏
         If ProjectSheet.Range("B5").Value = "1" Then
            ProjectSheet.Shapes.Range(Array("Picture 7")).Visible = msoTrue
            ProjectSheet.Shapes.Range(Array("Picture 1")).Visible = msoTrue
            ProjectSheet.Shapes.Range(Array("Picture 3")).Visible = msoTrue
            StageSheet.Shapes.Range(Array("Picture 8")).Visible = msoTrue
            StageSheet.Shapes.Range(Array("Picture 4")).Visible = msoTrue
            StageSheet.Shapes.Range(Array("Picture 1")).Visible = msoTrue
            BuildingSheet.Shapes.Range(Array("Picture 11")).Visible = msoTrue
            BuildingSheet.Shapes.Range(Array("Picture 1")).Visible = msoTrue
            BuildingSheet.Shapes.Range(Array("Picture 10")).Visible = msoTrue
            
            '指定项目sheet图片按钮的宏
            If ActiveSheet.CodeName = "ProjectSheet" Then
                ActiveSheet.Shapes.Range(Array("Picture 7")).Select
                Selection.OnAction = "SingIn"
                ActiveSheet.Shapes.Range(Array("Picture 1")).Select
                Selection.OnAction = "SaveData"
                ActiveSheet.Shapes.Range(Array("Picture 3")).Select
                Selection.OnAction = "StartApprove"
                ActiveSheet.Range("G1").Select
            End If
            If ActiveSheet.CodeName = "StageSheet" Then
                ActiveSheet.Shapes.Range(Array("Picture 8")).Select
                Selection.OnAction = "SingIn"
                ActiveSheet.Shapes.Range(Array("Picture 1")).Select
                Selection.OnAction = "SaveData"
                ActiveSheet.Shapes.Range(Array("Picture 4")).Select
                Selection.OnAction = "StartApprove"
                ActiveSheet.Range("G1").Select
            End If
            If ActiveSheet.CodeName = "BuildingSheet" Then
                ActiveSheet.Shapes.Range(Array("Picture 11")).Select
                Selection.OnAction = "SingIn"
                ActiveSheet.Shapes.Range(Array("Picture 1")).Select
                Selection.OnAction = "SaveData"
                ActiveSheet.Shapes.Range(Array("Picture 10")).Select
                Selection.OnAction = "StartApprove"
                ActiveSheet.Range("G1").Select
            End If
         Else
            ProjectSheet.Shapes.Range(Array("Picture 7")).Visible = msoFalse
            ProjectSheet.Shapes.Range(Array("Picture 1")).Visible = msoFalse
            ProjectSheet.Shapes.Range(Array("Picture 3")).Visible = msoFalse
            StageSheet.Shapes.Range(Array("Picture 8")).Visible = msoFalse
            StageSheet.Shapes.Range(Array("Picture 4")).Visible = msoFalse
            StageSheet.Shapes.Range(Array("Picture 1")).Visible = msoFalse
            BuildingSheet.Shapes.Range(Array("Picture 11")).Visible = msoFalse
            BuildingSheet.Shapes.Range(Array("Picture 1")).Visible = msoFalse
            BuildingSheet.Shapes.Range(Array("Picture 10")).Visible = msoFalse
         End If
         
         
        '设置第一行的行高
        ProjectSheet.Rows("1:1").RowHeight = 32
        StageSheet.Rows("1:1").RowHeight = 32
        BuildingSheet.Rows("1:1").RowHeight = 32

      
          '保护使用的heet
         ProjectSheet.Protect ProtectPassword, AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
         StageSheet.Protect ProtectPassword, AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
         BuildingSheet.Protect ProtectPassword, AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True

End Sub

2. 楼栋填报模板宏函数实现


Private Sub Worksheet_Activate()
    On Error GoTo err
        BuildingSheet.Unprotect "1236777"
         '指定图片按钮的宏
         If ProjectSheet.Range("B5").Value = "1" Then
            BuildingSheet.Shapes.Range(Array("Picture 11")).Select
            Selection.OnAction = "SingIn"
            BuildingSheet.Shapes.Range(Array("Picture 1")).Select
            Selection.OnAction = "SaveData"
            BuildingSheet.Shapes.Range(Array("Picture 10")).Select
            Selection.OnAction = "StartApprove"
            BuildingSheet.Range("G1").Select
         End If
         BuildingSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
        
        
         'Dim res As String
         'res = clsBase.GetBase64EncodeResul("v-tongj01:Football10")
         
    Exit Sub
err:
    MsgBox err.Description, vbOKOnly + vbExclamation, "异常"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim sinParkArea As Double                    '单个车位面积*
  Dim row_buid As Integer
  
  If Target.Column = 19 Then
      row_buid = Target.Row
      sinParkArea = CDbl(ProjectSheet.Range("G5").Value)
    
           '车位可售面积
        'If BuildingSheet.Range("AC" & row_buid).Value = "PC000028" And BuildingSheet.Range("M" & row_buid).Value <> "" And sinParkArea <> "0" And BuildingSheet.Range("AF" & row_buid).Value <> "03" Then
        If BuildingSheet.Range("AC" & row_buid).Value = "PC000028" And BuildingSheet.Range("S" & row_buid).Value <> "" And sinParkArea <> "0" And BuildingSheet.Range("AF" & row_buid).Value <> "03" Then       'modify by C-ZHABL01 2021.07.19:新增6个标签页
            'saleable_area = CDbl(BuildingSheet.Range("M" & row_buid).Value) * sinParkArea
            saleable_area = CDbl(BuildingSheet.Range("S" & row_buid).Value) * sinParkArea               'modify by  2021.07.19:新增6个标签页
            'BuildingSheet.Range("J" & row_buid).Value = saleable_area
            BuildingSheet.Range("P" & row_buid).Value = saleable_area                                   'modify by  2021.07.19:新增6个标签页
        End If
  End If
    
    
'    If change_times > 0 Then
'        '如果楼栋数据不为空,则汇总到分期
'         If BuildingSheet.Range("A5").Value <> "0" Then
'             StageSheet.Unprotect "123698745@vk"
'             '调用汇总分期数据函数
'             Call clsBusiness.CopyBuildingdataToStage(8)
'              StageSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
'         End If
    '
    '    '如果分期数据不为空,则汇总到项目
    '    If StageSheet.Range("A6").Value <> "0" Then
    '       '撤销保护使用的sheet
    '       ProjectSheet.Unprotect "123698745@vk"
    '        '调用汇项目期数据函数
    '       Call clsBusiness.CopyStagedataToProject(8)
    '        '保护使用的heet
    '       ProjectSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
    '
    '    End If
'    End If
    
    change_times = change_times + 1
    
End Sub

3. 分期填报模板代码

   



Private Sub Worksheet_Activate()
    On Error GoTo err
        '关闭屏幕更新
        Application.ScreenUpdating = False
        '撤销保护使用的sheet
        StageSheet.Unprotect "123698745@vk"
    
       '如果楼栋数据不为空,则汇总到分期
        If BuildingSheet.Range("A5").Value <> "0" Then
            StageSheet.Unprotect "123698745@vk"
            '调用汇总分期数据函数
            Call clsBusiness.CopyBuildingdataToStage(8)
            StageSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
        End If
       
        
        '指定图片按钮的宏
         If ProjectSheet.Range("B5").Value = "1" Then
            StageSheet.Shapes.Range(Array("Picture 8")).Select
            Selection.OnAction = "SingIn"
            StageSheet.Shapes.Range(Array("Picture 1")).Select
            Selection.OnAction = "SaveData"
            StageSheet.Shapes.Range(Array("Picture 4")).Select
            Selection.OnAction = "StartApprove"
            StageSheet.Range("G1").Select
         End If
        
        '保护使用的heet
        StageSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
        '开启屏幕更新
        Application.ScreenUpdating = True
         
     
    Exit Sub
err:
    MsgBox err.Description, vbOKOnly + vbExclamation, "异常"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

4. 项目填报模板

分期数据自动汇总到项目

'分期数据自动汇总到项目
Private Sub Worksheet_Activate()
    On Error GoTo err
         '关闭屏幕更新
        Application.ScreenUpdating = False
        '撤销保护使用的sheet
        ProjectSheet.Unprotect "123698745@vk"
        StageSheet.Unprotect "123698745@vk"
       
       'modify by c-zhabl01 at 20210721:调整汇总的顺序,先汇总分期的,再汇总项目的---begin
'        '如果分期数据不为空,则汇总到项目
'        If StageSheet.Range("A6").Value <> "0" Then
'           '调用汇项目期数据函数
'          Call clsBusiness.CopyStagedataToProject(8)
'        End If
'       '如果楼栋数据不为空,则汇总到分期
'        If BuildingSheet.Range("A5").Value <> "0" Then
'            '调用汇总分期数据函数
'            Call clsBusiness.CopyBuildingdataToStage(8)
'        End If
        
        '如果楼栋数据不为空,则汇总到分期
        If BuildingSheet.Range("A5").Value <> "0" Then
            '调用汇总分期数据函数
            Call clsBusiness.CopyBuildingdataToStage(8)
        End If
        
        '如果分期数据不为空,则汇总到项目
        If StageSheet.Range("A6").Value <> "0" Then
           '调用汇项目期数据函数
          Call clsBusiness.CopyStagedataToProject(8)
        End If
       'modify by c-zhabl01 at 20210721:调整汇总的顺序,先汇总分期的,再汇总项目的---end
        
         '指定图片按钮的宏
         If ProjectSheet.Range("B5").Value = "1" Then
            ProjectSheet.Shapes.Range(Array("Picture 7")).Select
            Selection.OnAction = "SingIn"
            ProjectSheet.Shapes.Range(Array("Picture 1")).Select
            Selection.OnAction = "SaveData"
            ProjectSheet.Shapes.Range(Array("Picture 3")).Select
            Selection.OnAction = "StartApprove"
            ProjectSheet.Range("G1").Select
         End If
        
         '保护使用的heet
        ProjectSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
        StageSheet.Protect "123698745@vk", AllowInsertingColumns:=False, AllowInsertingRows:=False, AllowDeletingColumns:=False, AllowDeletingRows:=False, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFormattingCells:=True
         
         
         
        
        '开启屏幕更新
        Application.ScreenUpdating = True
    Exit Sub
err:
    MsgBox err.Description, vbOKOnly + vbExclamation, "异常"
End Sub




5. CheckInput模块代码

验证填报的单元格数据完整性等

'验证楼栋数据完整性
Public Function checkBuildingInput(star_rowindex As Integer) As Boolean
     '获取当前活动的sheet
     Dim csheet As Worksheet
     Set csheet = BuildingSheet
     Dim Msg As String: Msg = "楼栋填报模板sheet:" & Chr(10)
     Dim row_index As Integer
     Dim col_index As Integer
     Dim Result As Boolean: Result = True
     Dim check_flag As String
     
      '先显示所有列
     Application.ScreenUpdating = False
     '循环列
     BuildingSheet.Unprotect "123698745@vk"
     For col_index = 7 To 32
        csheet.Cells(star_rowindex, col_index).EntireColumn.Hidden = False
     Next col_index
     Application.ScreenUpdating = True
     BuildingSheet.Protect "123698745@vk"
     
     
     If csheet.Range("A5").Value <> "0" Then
            '循环行
            For row_index = star_rowindex To CDbl(csheet.Range("A5").Value) + 7
               '循环列
                'For col_index = 7 To 14
                For col_index = 11 To 19                                             'modify by suyinghui 2017.09.14
                    '除车位列外其他列均不能为空
 

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

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

相关文章

万龙觉醒免费辅助脚本:VMOS云手机助力物资获取与养成!

在《万龙觉醒》中&#xff0c;资源获取和英雄养成是游戏的重要组成部分&#xff0c;而使用VMOS云手机可以为玩家带来更高效的游戏体验。通过使用VMOS云手机&#xff0c;玩家可以轻松实现24小时不间断的游戏辅助&#xff0c;无需反复安装或更新游戏&#xff0c;因为VMOS云手机自…

upload-labs通关教程

一.第一关&#xff08;前端绕过&#xff09; 首先准备一个php小马 <?php phpinfo();?>这是调用phpinfo这个函数&#xff0c;查看php的配置信息 首先上传1.php发现 使用BP抓不到包&#xff0c;猜测被前端验证了&#xff0c;查看网页源代码 可以看到下面有一段js代码过…

国内超声波清洗机哪个品牌好?非常好用的超声波清洗机

在当今社会快速生活的节奏下&#xff0c;个人健康与生活品质成为了焦点话题。面对传统清洁方法的局限性和可能对物品造成的伤害&#xff0c;人们愈发倾向于探索更高效、安全的清洁方案。超声波清洗技术恰逢其时地步入大众视野&#xff0c;凭借其高效清洁力与环保特性&#xff0…

鸿蒙开发(API 12 Beta6版)【P2P模式】 网络WLAN服务开发

概述 无线局域网&#xff08;Wireless Local Area Networks&#xff0c;WLAN&#xff09;&#xff0c;是通过无线电、红外光信号或者其他技术发送和接收数据的局域网&#xff0c;用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境…

打造无死角安防网:EasyCVR平台如何助力智慧警务实现视频+AI的全面覆盖

一、背景概述 随着科技的飞速发展&#xff0c;智慧城市建设已成为提升社会治理能力、增强公共安全水平的重要途径。在警务领域&#xff0c;智慧警务作为智慧城市的重要组成部分&#xff0c;正通过融合视频监控技术与人工智能&#xff08;AI&#xff09;解决方案&#xff0c;实…

数据库中的主码、候选码、主属性、非主属性

参考链接 候选码、主码、全码、外码、主属性、主键、主关键字、非主属性清晰总结 - 知乎 (zhihu.com) 1.码&#xff1a; 能够标识一条记录的属性或者属性集 2.候选码 能够标识一条记录的最小属性集 任一候选键的任何真子集都不能唯一标识一个记录&#xff08;比如在成绩表…

诸葛io:消费金融行业智能运营与数智化经营模型构建

规范化的快速发展已成为消费金融行业的主旋律&#xff0c;消金公司亟待制定数智化转型战略&#xff0c;建设自主营销与精细化运营能力&#xff0c;以找到存量时代的全新增长密码。 容联云旗下诸葛智能公司作为数智化经营领域的杰出代表&#xff0c;凭借数据技术先进性、金融业…

将esp32-s3-eye做为USB网络摄像头(UVC设备)

官方网址&#xff1a;usb_webcam 支持UVC同步、批量传输模型只支持MJPEG传输格式支持板上LCD动画esp32-s3-eye&#xff08;IDF v5.0或更高版本&#xff09; 硬件要求 官方默认的USB WebCam config就是乐鑫带摄像头OV2604的esp32-s3-eye&#xff0c;其他的开发板可以参考官方网…

仿微信QQ聊天系统源码设计开发

一、引言 随着移动互联网的快速发展&#xff0c;即时通讯软件已成为人们日常生活中不可或缺的一部分。仿微信QQ聊天系统作为一种模仿主流聊天软件功能的应用&#xff0c;旨在为用户提供高效、便捷的沟通方式。本文将从系统架构、功能模块等方面详细介绍仿微信QQ聊天系统的设计…

Visual studio自动添加头部注释

记事本打开VS版本安装目录下的Class.cs文件 增加如下内容&#xff1a;

Linux 访问控制列表(Access Control List)

在Linux中&#xff0c;目录或文件的权限是针对的所有者(owner)&#xff0c;所属组(group)&#xff0c;其他人(others)这3种类别来设置的。这种根据类别控制权限的方法无法精确控制每个用户的行为。为了解决这个问题&#xff0c;Linux引入了访问控制列表&#xff08;Access Cont…

网络安全知识:什么是访问控制列表 (ACL)?

访问控制列表 (ACL) 是网络安全和管理的基础。它们在确定谁或什么可以访问网络内的特定资源方面发挥着重要作用。 本文深入探讨了 ACL 的复杂性&#xff0c;探索了其类型、组件、应用程序和最佳实践。我们还将比较不同操作系统的 ACL&#xff0c;并讨论它们在网络架构中的战略…

基于C#的UDP协议消息传输

1. 服务端 internal class Program{static void Main(string[] args){//1.创建SocketSocket socketServer new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//2.绑定IP、端口号EndPoint endPoint new IPEndPoint(IPAddress.Parse("127.0.0.1&…

Grid布局常用属性梳理

布局属性 aligin-items 作用&#xff1a;CSS align-items 属性设置了所有直接子元素的 align-self 值作为一个组。在 Flexbox 中&#xff0c;它控制子元素在交叉轴上的对齐。在 Grid 布局中&#xff0c;它控制了子元素在其网格区域内的块向轴上的对齐。 应用对象&#xff1a;…

VIC leak detection MS40-MS50检漏仪手侧

VIC leak detection MS40-MS50检漏仪手侧

web基础之XSS

一、搭建XSS平台 安装 1、我这里安装在本地的Phpstudy上&#xff0c;安装过程就是一路下一步&#xff08;可以改安装路径&#xff09;&#xff0c;附上下载链接&#xff1a; # 官网&#xff1a;https://www.xp.cn/download.html# 蓝莲花 - github下载 https://github.com/fi…

报名啦|PolarDB数据库创新设计赛(天池杯)等你来战

2024年全国大学生计算机系统能力大赛PolarDB数据库创新设计赛&#xff08;天池杯&#xff09;现已正式启动报名&#xff0c;大赛面向全国普通高等学校全日制在读本专科学生&#xff0c;欢迎同学们踊跃参加&#xff01; 大赛介绍 2024年全国大学生计算机系统能力大赛PolarDB数…

C语言:刷题日志(3)

一.猴子选大王 一群猴子要选新猴王。新猴王的选择方法是&#xff1a;让N只候选猴子围成一圈&#xff0c;从某位置起顺序编号为1~N号。从第1号开始报数&#xff0c;每轮从1报到3&#xff0c;凡报到3的猴子即退出圈子&#xff0c;接着又从紧邻的下一只猴子开始同样的报数。如此不…

计算机二级自学笔记(选择题1部分)

A 问题规模越大&#xff0c;越需要多次的循环处理数据&#xff0c;不能说无关。 A 冒泡排序最坏次数n&#xff08;n-1&#xff09;/2&#xff0c;每一个数据都需要从最下方依次对比到最上方。 A 栈顶栈底指针都可以随操作而变化。头尾指针相同可能为空&#xff0c;循环队列可…