从清单生成紧急、重要、次要、琐事4类清单,督促办理

‘ --------------------------------------------------------------------------------

‘ 用来从清单生成紧急、重要、次要、琐事4类清单,督促办理

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

‘ Sheet1第一行表头,至少包括以下几列

‘ 序号    主题    分项任务    详细说明    结果描述    联络人    提出时间    截止时间    完成时间    重要    紧急    备注

‘ --------------------------------------------------------------------------------

‘ 从本工作表生成数据库连接

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

Function connect()

Dim conn As Object, PathStr As String, strConn As String, strSQL As String

Set conn = CreateObject("ADODB.Connection")

PathStr = ThisWorkbook.FullName   ‘设置工作簿的完整路径和名称

Select Case Application.Version * 1    ‘设置连接字符串,根据版本创建连接

Case Is <= 11

strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr

Case Is >= 12

strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""

End Select

conn.Open strConn

Set connect = conn

End Function

‘ --------------------------------------------------------------------------------

‘ 删除工作表、新建工作表

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

Function renewSheet(shtname)

On Error Resume Next

Application.DisplayAlerts = False

Set sht = Sheets(shtname)

If Not IsNull(sht) Then

sht.Delete

End If

Set sht = Sheets.Add()

sht.Name = shtname

Set renewSheet = sht

Application.DisplayAlerts = True

End Function

‘ --------------------------------------------------------------------------------

‘ 在指定的工作表中填充4类事项

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

Sub divide(conn, targetShtName)

‘On Error Resume Next

Dim firstrow As Integer, rst As Object

Dim title(5) As String, cindex(5) As Integer, mode As Integer, i As Integer

Dim SQL(5) As String, pre As String

pre = "select 序号,主题,分项任务,详细说明,结果描述,联络人,提出时间,截止时间,备注 from [Sheet1$A1:M100] where 分项任务 is  not null and 完成时间 is null and "

SQL(0) = pre + " len(重要) > 0 and len(紧急) >0"

SQL(1) = pre + " len(重要) > 0  and 紧急 is null"

SQL(2) = pre + " 重要 is null and len(紧急) > 0 "

SQL(3) = pre + " 重要 is null and 紧急 is null "

SQL(4) = "select 序号,主题,分项任务,详细说明,结果描述,联络人,提出时间,截止时间,备注 from [Sheet1$A1:M100] where 完成时间 is not null"

cindex(0) = 3

cindex(1) = 5

cindex(2) = 6

cindex(3) = 8

cindex(4) = 10

title(0) = "紧急"

title(1) = "重要"

title(2) = "琐事"

title(3) = "小事"

title(4) = "完结"

Debug.Print targetShtName

Set rst = CreateObject("ADODB.Recordset")

Set sht = Sheets(targetShtName)

firstrow = 1

With sht

rst.CursorLocation = 3

For mode = 0 To 4 Step 1

rst.Open SQL(mode), conn, adOpenKeyset

If rst.Fields.Count > 1 Then

Range(Cells(firstrow + 1, 1), Cells(firstrow + 1, rst.Fields.Count)).Merge

.Cells(firstrow + 1, 1).Value = title(mode)

.Cells(firstrow + 1, 1).RowHeight = 35

.Cells(firstrow + 1, 1).HorizontalAlignment = xlCenter    ‘ 居中

.Cells(firstrow + 1, 1).Interior.ColorIndex = cindex(mode)

.Cells(2 + firstrow, i + 1).ColumnWidth = 10

For i = 0 To rst.Fields.Count - 1    ‘填写标题

fdname = rst.Fields(i).Name

.Cells(2 + firstrow, i + 1).ColumnWidth = getWidth(fdname)

.Cells(2 + firstrow, i + 1).EntireRow.AutoFit

.Cells(2 + firstrow, i + 1) = fdname

Next i

End If

‘ 复制选择集数据

Range("A" & (firstrow + 3)).CopyFromRecordset rst

firstrow = firstrow + rst.RecordCount + 4

rst.Close

Next mode

‘ .Cells.EntireColumn.AutoFit  ‘自动调整列宽

.Cells.WrapText = True

Set rst = Nothing

End With

End Sub

‘ --------------------------------------------------------------------------------

‘ 根据字段名获得列宽

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

Function  getWidth(fdname)

dim wid as Integer

wid = 10

Select Case fdname

Case "分项任务"

wid = 20

Case "详细说明"

wid = 20

Case "结果描述"

wid = 30

Case "备注"

wid = 15

Case Else

wid = 10

End Select

getWidth = wid

End Function

‘ --------------------------------------------------------------------------------

‘ 用来从清单生成紧急、重要、次要、琐事4类清单,督促办理

‘ 作者:[email protected]

‘ 日期:2017年4月25日

‘ --------------------------------------------------------------------------------

Sub GTD()

Dim conn As Object, rst As Object

Set conn = connect()

Set sht = renewSheet("4象限")

Call divide(conn, "4象限")

conn.Close

Set conn = Nothing

End Sub

来自为知笔记(Wiz)

时间: 2024-10-09 23:01:31

从清单生成紧急、重要、次要、琐事4类清单,督促办理的相关文章

从自动生成.h的头文件集合和类声明集合到用python读写文件

最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些类,会累死人的.所以用python来生成这些类的头文件引用和类的类名声明 先看例子,再聊python的读写文件的代码 在聊聊我的python代码 ------------------------> 好吧.上面的图就是面临的需求 下面来聊聊从网上找的读写文件的python代码吧.csdn的一个博主写的

CodeSmith生成SQL Server视图的实体类脚本/对应的生成模板

C#生成sql视图的实体类 using System;using System.Text;using CodeSmith.Engine;using SchemaExplorer;using System.ComponentModel;using System.Data; namespace Common.Data{ /// <summary> /// CodeSmith生成SQL Server视图的实体类脚本 /// </summary> public class ViewUtil

生成 hibernate 映射文件和实体类

创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 创建数据库,创建相应的表   点击图标,选择MyEclipse Datebase Explorer   右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb是我创建的数据库连接   选择需要添加hibernate映像文件的工程右击--->MyEclipse-->Ad

Swift - 生成各种控件的工厂类(包含标签,按钮,输入框等)

在iOS开发中,页面里有时会大量的用到一些控件,如果要一个个单独创建再设置样式的话就显得很麻烦.我们可以创建一个生成各种控件的工厂类,这样在需要的时候调用下就可以了. 下面以一个自定义的工厂类为例,其中提供了文本标签,按钮,文本输入框,分段单选控件的生成,效果图如下: 工厂类:ViewFactory.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

封装各种生成唯一性ID算法的工具类

/** * Copyright (c) 2005-2012 springside.org.cn * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.minxinloan.common.utils; import java.security.SecureRandom; import java.util.UUID; /** * 封装各种生成唯一性ID算法的工具类. * @aut

WPF 生成文字图片小笔记: DrawingContext类

在WinForm程序中用Graphics类生成图片文字, 而WPF功能类似的类是System.Windows.Media下的DrawingContext. 虽然在WPF中可以使用Graphics类, 但这会涉及到Bitmap与BitmapSource之间的转换. 虽然不是很麻烦, 但就是很不爽. 而且Graphics是GUI的操作, 明显不适合WPF. 在System.Windows.Media命名空间下, 还有其它与System.Drawing功能相类似的类. 当然, 你在使用DrawingC

生成某一文件夹内文件清单(批量处理)

脚本如下: DIR *.*  /B >LIST.TXT 方法如下: 1.新建一个纯文本文件(txt类型文件) 2.打开纯文本文件 3.写上:DIR *.*  /B >local_LIST.TXT 4.保存 5.修改后缀名,如:.bat

Eclipse从数据库逆向生成Hibernate带注解的实体类

新增Hibernate配置文件: [1]右键选择项目->New->Others,选择新增Hibernate配置文件 [2]填写相应的参数 新增数据库配置文件 [1]打开 Hibernate Configurations模块,新增Add Configuration 选择数据库: 选择UTF-8编码: 生成代码注解类:

Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类

一.安装hibernate tools插件 1.在线安装 通过Eclipse的Help->Install New Software 在线安装插件,插件连接为: eclipse helios(3.6)版 添加如下地址:http://download.jboss.org/jbosstools/updates/stable/helios/ 选择性安装:hibernate tools在All Jboss tools节点下面 eclipse indigo(3.7)版 添加如下地址:http://downl