07编程
1. 关于office2007的VBA编程
除了一小部分有点差异外,
2003版VBA基本可以全部移植到2007里面,
不过看一下帮助就可以解决问题了,
我也是学2003版的,现在用的是2007版,
也觉得没什么问题。
2. excel2007 编程,第一列为日期数,第二列是星期,第三行为农历,判断这一天是否是法定节日,是的话在第四列
至于要用到农历,那你的文件就是运行VBA。
要是法定节日,那得你手动输入,倒不多。
如果你愿意,我可以帮你解决你要的功能
第一列,B2=????-??-??
第二列,C2=WEEKDAY(B2,1)
第三列,D2=calendar(B2) 注:此处calendar()函数为自定义函数,见后面解释
第四列,E2= (是不是法定节假日,你只有查一下国务院放假规定)
选择B2至E2,填充所要单元格。
下面解释一下那个自定义函数:
这个需要VBA了.
按ALT+F11 再 插入 模块
把下面的代码制复制到模块中,D2数据就生成了
Option Explicit
Dim WeekName(7), MonthAdd(11), NongliData(120), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)
Dim curTime, curYear, curMonth, curDay, curWeekday
Dim GongliStr, WeekdayStr, NongliStr, NongliDayStr
Dim i, m, n, k, isEnd, bit, TheDate, num1, num2
Dim year, month, day, grid, grid_date
Function calendar(grid)
grid_date = grid
year = Mid(grid_date, 1, 4)
num1 = InStr(grid_date, "-")
num2 = InStr(6, grid_date, "-")
If (num2 - num1) = 3 Then
month = Mid(grid_date, 6, 2)
day = Mid(grid_date, 9, 2)
Else
month = Mid(grid_date, 6, 1)
day = Mid(grid_date, 8, 2)
End If
'星期名
WeekName(0) = " * "
WeekName(1) = "星期日"
WeekName(2) = "星期一"
WeekName(3) = "星期二"
WeekName(4) = "星期三"
WeekName(5) = "星期四"
WeekName(6) = "星期五"
WeekName(7) = "星期六"
'天干名称
TianGan(0) = "甲"
TianGan(1) = "乙"
TianGan(2) = "丙"
TianGan(3) = "丁"
TianGan(4) = "戊"
TianGan(5) = "己"
TianGan(6) = "庚"
TianGan(7) = "辛"
TianGan(8) = "壬"
TianGan(9) = "癸"
'地支名称
DiZhi(0) = "子"
DiZhi(1) = "丑"
DiZhi(2) = "寅"
DiZhi(3) = "卯"
DiZhi(4) = "辰"
DiZhi(5) = "巳"
DiZhi(6) = "午"
DiZhi(7) = "未"
DiZhi(8) = "申"
DiZhi(9) = "酉"
DiZhi(10) = "戌"
DiZhi(11) = "亥"
'属相名称
ShuXiang(0) = "鼠"
ShuXiang(1) = "牛"
ShuXiang(2) = "虎"
ShuXiang(3) = "兔"
ShuXiang(4) = "龙"
ShuXiang(5) = "蛇"
ShuXiang(6) = "马"
ShuXiang(7) = "羊"
ShuXiang(8) = "猴"
ShuXiang(9) = "鸡"
ShuXiang(10) = "狗"
ShuXiang(11) = "猪"
'农历日期名
DayName(0) = "*"
DayName(1) = "初一"
DayName(2) = "初二"
DayName(3) = "初三"
DayName(4) = "初四"
DayName(5) = "初五"
DayName(6) = "初六"
DayName(7) = "初七"
DayName(8) = "初八"
DayName(9) = "初九"
DayName(10) = "初十"
DayName(11) = "十一"
DayName(12) = "十二"
DayName(13) = "十三"
DayName(14) = "十四"
DayName(15) = "十五"
DayName(16) = "十六"
DayName(17) = "十七"
DayName(18) = "十八"
DayName(19) = "十九"
DayName(20) = "二十"
DayName(21) = "二十一"
DayName(22) = "二十二"
DayName(23) = "二十三"
DayName(24) = "二十四"
DayName(25) = "二十五"
DayName(26) = "二十六"
DayName(27) = "二十七"
DayName(28) = "二十八"
DayName(29) = "二十九"
DayName(30) = "三十"
'农历月份名
MonName(0) = "*"
MonName(1) = "正"
MonName(2) = "二"
MonName(3) = "三"
MonName(4) = "四"
MonName(5) = "五"
MonName(6) = "六"
MonName(7) = "七"
MonName(8) = "八"
MonName(9) = "九"
MonName(10) = "十"
MonName(11) = "十一"
MonName(12) = "腊"
'公历每月前面的天数
MonthAdd(0) = 0
MonthAdd(1) = 31
MonthAdd(2) = 59
MonthAdd(3) = 90
MonthAdd(4) = 120
MonthAdd(5) = 151
MonthAdd(6) = 181
MonthAdd(7) = 212
MonthAdd(8) = 243
MonthAdd(9) = 273
MonthAdd(10) = 304
MonthAdd(11) = 334
'农历数据
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
NongliData(3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
NongliData(6) = 2391
NongliData(7) = 133423
NongliData(8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
NongliData(13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
NongliData(18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
NongliData(22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
NongliData(25) = 2349
NongliData(26) = 137515
NongliData(27) = 2709
NongliData(28) = 464533
NongliData(29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
NongliData(32) = 1242
NongliData(33) = 2651
NongliData(34) = 199255
NongliData(35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
NongliData(40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
NongliData(43) = 2647
NongliData(44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 46
NongliData(48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
NongliData(52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
NongliData(60) = 1179
NongliData(61) = 267415
NongliData(62) = 2635
NongliData(63) = 661067
NongliData(64) = 1701
NongliData(65) = 1748
NongliData(66) = 398772
NongliData(67) = 2742
NongliData(68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
NongliData(71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
NongliData(76) = 2742
NongliData(77) = 332397
NongliData(78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
NongliData(84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
NongliData(87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
NongliData(94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
NongliData(97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
'生成当前公历年、月、日 ==> GongliStr
curYear = year
curMonth = month
curDay = day
GongliStr = curYear & "年"
If (curMonth < 10) Then
GongliStr = GongliStr & "0" & curMonth & "月"
Else
GongliStr = GongliStr & curMonth & "月"
End If
If (curDay < 10) Then
GongliStr = GongliStr & "0" & curDay & "日"
Else
GongliStr = GongliStr & curDay & "日"
End If
'生成当前公历星期 ==> WeekdayStr
curWeekday = Weekday(curTime)
WeekdayStr = WeekName(curWeekday)
'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38
If ((curYear Mod 4) = 0 And curMonth > 2) Then
TheDate = TheDate + 1
End If
'计算农历天干、地支、月、日
isEnd = 0
m = 0
Do
If (NongliData(m) < 4095) Then
k = 11
Else
k = 12
End If
n = k
Do
If (n < 0) Then
Exit Do
End If
'获取NongliData(m)的第n个二进制位的值
bit = NongliData(m)
For i = 1 To n Step 1
bit = Int(bit / 2)
Next
bit = bit Mod 2
If (TheDate <= 29 + bit) Then
isEnd = 1
Exit Do
End If
TheDate = TheDate - 29 - bit
n = n - 1
Loop
If (isEnd = 1) Then
Exit Do
End If
m = m + 1
Loop
curYear = 1921 + m
curMonth = k - n + 1
curDay = TheDate
If (k = 12) Then
If (curMonth = (Int(NongliData(m) / 65536) + 1)) Then
curMonth = 1 - curMonth
ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) Then
curMonth = curMonth - 1
End If
End If
'生成农历天干、地支、属相 ==> NongliStr
NongliStr = "农历" & TianGan(((curYear - 4) Mod 60) Mod 10) & DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"
NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ""
'生成农历月、日 ==> NongliDayStr
If (curMonth < 1) Then
NongliDayStr = "闰" & MonName(-1 * curMonth)
Else
NongliDayStr = MonName(curMonth)
End If
NongliDayStr = NongliDayStr & "月"
NongliDayStr = NongliDayStr & DayName(curDay) & ")"
calendar = NongliStr & NongliDayStr
End Function
3. 07年最新的编程语言是什么>
visual studio 2007
4. 如何用CAD2007编程
没有学过?简单,vlisp命令就可以启动一个界面,耐心看看帮助,几天就学会了。
5. C#编程的问题07
引用类型的才需要用new关键字来创建对象
因为它必须引用一个实例
比如
结构的话就可以new也可以不new
因为它是值类型
比如有个结构student
你可以直接student
a;
然后就可以直接用a操作student的成员了
静态和new没关系
静态的变量
方法等等
是属于类的成员
所以就算有某类的对象
这对象却不能调用那个静态成员
只能用类名来调用
而你的那个int
i;
i
就已经是int的对象了
int
long
等等等等的14个值类型
是预定义类型
(还有一个预定义的引用类型
string)
所以综合以上所说
int
i
不用new
而且也并不代表他是静态的 也根本就不是静态的
6. 98版本的c++和07版本的c++在编程语言上不同吗
目前最新c++版本为c++ 0x,很少有编译器完全支持。上一个版本为c++98,visual c++ 6并非完全支持。
目前尽量使用c++98标准。
你上面说的应该是指某个编译器吧,因为c++版本与操作系统无关!
完全可以写成两个符合各个版本的代码。如:
int sum = 0;
for(int i = 0; i < 10; ++i)
{
sum += i;
}
int val = 1;
for(int i = 1; i < 10; ++i)
{
val *= i;
}
上面代码在vc6中不能编译,它符合c++98标准。但是,如果写为:
int i;
int sum = 0;
for(i = 0; i < 10; ++i)
{
sum += i;
}
int val = 1;
for(i = 1; i < 10; ++i)
{
val *= i;
}
则任何版本的c++都能够通过编译。
7. 我想自学java编程,是2007出的书会不会太老了从2007到现在这语言有改过吗
不会,可以放心的学,现在的只是讲的不是jdk1.4或者以前的就行了
jdk1.4和jdk5是分水领
8. excel 2007 编程
不用编程,用if公式就可以解决了。
楼主用过vb,if公式通过帮助看一下就行了。我就不详细解释了。
操作:
=if((40-d3)>=0,0,d3-40)
应该能满足要求。
9. EXCEL2007 VBA编程 如何实现逐行多对对查找
这个不需要VBA呀,用公式就可以搞定的
如下:
sheet1表结构如下:
B2里输入的公式为
=IF(ISERROR(MATCH(A2 & B1,Sheet1!A2:A9 & Sheet1!B2:B9,0)),"",INDEX(Sheet1!C2:C9,MATCH(A2 & B1,Sheet1!A2:A9 & Sheet1!B2:B9,0)))
【注】在B2里复制粘贴以上公式后要同时按下CTRL+SHEFT+ENTER组合键
当你改变A2和B1的值时,B2里就会跳出相应的完成内容
10. excel2007如何进入编程界面
右键点最下面的表格名称,然后查看代码,就进入了宏界面,里面就可以用VBA了