Author Archives: Sean

Installing Windows XP on ESX/ESXi using LSI Logic driver

By default, ESX will use the LSI Logic driver when deploying a new Windows XP virtual machine. The LSI Logic driver is not found on the CD-ROM media, so Windows XP will not continue with the installation if this driver is not found.

WinXP

  1. The steps:
    Create a new Windows XP Virtual Machine
    Upload a Windows XP .iso file to your datastore/ISOstore (preferably a VLK version) and link it via the CD-ROM options in your Virtual Machine. Make sure it is connected / at power on
    Go to http://www.lsilogic.com/cm/DownloadSearch.do and search for a driver for the LSI20320-R controller.
    Extract all files in the symmpi_wXP_1201800.ZIP
    Use a program such as WinImage to create an LSILogic.flp file and include the extracted files in the .flp image.
    Upload the newly created LSILogic.flp to your datastore/ISO store
    Link the .flp file via the Floppy options => use existing floppy image in datastore in your Virtual Machine. Do NOT connect it yet.
    Power On your Windows XP machine. The installation of Windows XP should begin.
    During setup, press F6 to select additional SCSI drivers
    Now is the time to connect your floppy and use S during Windows Setup when prompted to connect to the floppy drive.

S-Command

The LSILogic drive should appear. Press ENTER to continue
Setup will continue as normal
Install VMware tools
Done!

NOTE: when using the BusLogic driver instead, you can download & use a preconfigured .flp file from the VMware site: http://download3.vmware.com/software/vmscsi-1.2.0.4.flp. Follow the same procedure as described above. The driver should be name VMware SCSI Controller in Windows XP.

Technorati Tags: ,,,,

Excel VBA语句集

定制模块行为
(1) Option Explicit ‘强制对模块内所有变量进行声明
    Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示
    Option Compare Text ‘字符串不区分大小写
    Option Base 1 ‘指定数组的第一个下标为1
(2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息
(3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置
(4) On Error GoTo 0 ‘恢复正常的错误提示
(5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示
(6) Application.ScreenUpdating=False ‘关闭屏幕刷新
     Application.ScreenUpdating=True ‘打开屏幕刷新
(7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能

工作簿
(8) Workbooks.Add() ‘创建一个新的工作簿
(9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿
(10) ThisWorkbook.Save ‘保存工作簿
(11) ThisWorkbook.close ‘关闭当前工作簿
(12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数
(13) ActiveWorkbook.name ‘返回活动工作薄的名称
(14) ThisWorkbook.Name ‘返回当前工作簿名称
     ThisWorkbook.FullName ‘返回当前工作簿路径和名称
(15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小
(16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列
(17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化

工作表
(18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数
(19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性)
(20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum
(21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前
(22) ActiveSheet.Move After:=ActiveWorkbook. _
     Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后
(23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2
(24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1
(25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称
(26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮
(27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示
(28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式
(29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接
(30) ActiveSheet.PageSetup.Orientation=xlLandscape
     或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向
(31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径
     ActiveSheet.PageSetup.LeftFooter=Application.UserName ‘将用户名放置在活动工作表的页脚

单元格/单元格区域
(32) ActiveCell.CurrentRegion.Select
     或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select ‘选择当前活动单元格所包含的范围,上下左右无空行
(33) Cells.Select ‘选定当前工作表的所有单元格
(34) Range(“A1”).ClearContents ‘清除活动工作表上单元格A1中的内容
     Selection.ClearContents ‘清除选定区域内容
     Range(“A1:D4”).Clear ‘彻底清除A1至D4单元格区域的内容,包括格式
(35) Cells.Clear ‘清除工作表中所有单元格的内容
(36) ActiveCell.Offset(1,0).Select ‘活动单元格下移一行,同理,可下移一列
(37) Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1) ‘偏移一列
     Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1) ‘向上偏移一行
(38) Range(“A1”).Copy Range(“B1”) ‘复制单元格A1,粘贴到单元格B1中
     Range(“A1:D8”).Copy Range(“F1”) ‘将单元格区域复制到单元格F1开始的区域中
     Range(“A1:D8”).Cut Range(“F1”) ‘剪切单元格区域A1至D8,复制到单元格F1开始的区域中
     Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”) ‘复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中
     注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列
(39) ActiveWindow.RangeSelection.Value=XX ‘将值XX输入到所选单元格区域中
(40) ActiveWindow.RangeSelection.Count ‘活动窗口中选择的单元格数
(41) Selection.Count ‘当前选中区域的单元格数
(42) GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””) ‘返回单元格中超级链接的地址并赋值
(43) TextColor=Range(“A1”).Font.ColorIndex ‘检查单元格A1的文本颜色并返回颜色索引
     Range(“A1”).Interior.ColorIndex ‘获取单元格A1背景色
(44) cells.count ‘返回当前工作表的单元格数
(45) Selection.Range(“E4”).Select ‘激活当前活动单元格下方3行,向右4列的单元格
(46) Cells.Item(5,”C”) ‘引单元格C5
     Cells.Item(5,3) ‘引单元格C5
(47) Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)
     或 Range(“A1”).Offset(4,5) ‘指定单元格F5
(48) Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)
     Rnage(“B3”).Resize(11,3) ‘创建B3:D13区域
(49) Range(“Data”).Resize(,2) ‘将Data区域扩充2列
(50) Union(Range(“Data1”),Range(“Data2”)) ‘将Data1和Data2区域连接
(51) Intersect(Range(“Data1”),Range(“Data2”)) ‘返回Data1和Data2区域的交叉区域
(52) Range(“Data”).Count ‘单元格区域Data中的单元格数
     Range(“Data”). Columns.Count ‘单元格区域Data中的列数
     Range(“Data”). Rows.Count ‘单元格区域Data中的行数
(53) Selection.Columns.Count ‘当前选中的单元格区域中的列数
     Selection.Rows.Count ‘当前选中的单元格区域中的行数
(54) Selection.Areas.Count ‘选中的单元格区域所包含的区域数
(55) ActiveSheet.UsedRange.Row ‘获取单元格区域中使用的第一行的行号
(56) Rng.Column ‘获取单元格区域Rng左上角单元格所在列编号
(57) ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) ‘在活动工作表中返回所有符合条件格式设置的区域
(58) Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False ‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表

名称
(59) Range(“A1:C3”).Name=“computer” ‘命名A1:C3区域为computer
     或Range(“D1:E6”).Name=“Sheet1!book” ‘命名局部变量,即Sheet1上区域D1:E6为book
     或 Names(“computer”).Name=“robot” ‘将区域computer重命名为robot
(60) Names(“book”).Delete ‘删除名称
(61) Names.Add Name:=“ContentList”,_
     RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))” ‘动态命名列
(62) Names.Add Name:=“Company”,RefersTo:=“CompanyCar” ‘命名字符串CompanyCar
(63) Names.Add Name:=“Total”,RefersTo:=123456 ‘将数字123456命名为Total。注意数字不能加引号,否则就是命名字符串了。
(64) Names.Add Name:=“MyArray”,RefersTo:=ArrayNum ‘将数组ArrayNum命名为MyArray。
(65) Names.Add Name:=“ProduceNum”,RefersTo:=“=$B$1”,Visible:=False ‘将名称隐藏
(66) ActiveWorkbook.Names(“Com”).Name ‘返回名称字符串

公式与函数
(67) Application.WorksheetFunction.IsNumber(“A1”) ‘使用工作表函数检查A1单元格中的数据是否为数字
(68) Range(“A:A”).Find(Application.WorksheetFunction.Max(Range(“A:A”))).Activate
     ‘激活单元格区域A列中最大值的单元格
(69) Cells(8,8).FormulaArray=“=SUM(R2C[-1]:R[-1]C[-1]*R2C:R[-1]C)” ‘在单元格中输入数组公式。注意必须使用R1C1样式的表达式

图表
(70) ActiveSheet.ChartObjects.Count ‘获取当前工作表中图表的个数
(71) ActiveSheet.ChartObjects(“Chart1”).Select ‘选中当前工作表中图表Chart1
(72) ActiveSheet.ChartObjects(“Chart1”).Activate
     ActiveChart.ChartArea.Select ‘选中当前图表区域
(73) WorkSheets(“Sheet1”).ChartObjects(“Chart2”).Chart. _
     ChartArea.Interior.ColorIndex=2 ‘更改工作表中图表的图表区的颜色
(74) Sheets(“Chart2”).ChartArea.Interior.ColorIndex=2 ‘更改图表工作表中图表区的颜色
(75) Charts.Add ‘添加新的图表工作表
(76) ActiveChart.SetSourceData Source:=Sheets(“Sheet1”).Range(“A1:D5”), _
     PlotBy:=xlColumns ‘指定图表数据源并按列排列
(77) ActiveChart.Location Where:=xlLocationAsNewSheet ‘新图表作为新图表工作表
(78) ActiveChart.PlotArea.Interior.ColorIndex=xlNone ‘将绘图区颜色变为白色
(79) WorkSheets(“Sheet1”).ChartObjects(1).Chart. _
     Export FileName:=“C:MyChart.gif”,FilterName:=“GIF” ‘将图表1导出到C盘上并命名为MyChart.gif

窗体
(80) MsgBox “Hello!” ‘消息框中显示消息Hello
(81) Ans=MsgBox(“Continue?”,vbYesNo) ‘在消息框中点击“是”按钮,则Ans值为vbYes;点击“否”按钮,则Ans值为vbNo。
     If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub ‘返回值不为“是”,则退出
(82) Config=vbYesNo+vbQuestion+vbDefaultButton2 ‘使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮
(83) MsgBox “This is the first line.” & vbNewLine & “Second line.” ‘在消息框中强制换行,可用vbCrLf代替vbNewLine。
(84) MsgBox "the average is :"&Format(Application.WorksheetFunction.Average(Selection),"#,##0.00"),vbInformation, "selection count average" & Chr(13) ‘应用工作表函数返回所选区域的平均值并按指定格式显示
(85) Userform1.Show ‘显示用户窗体
(86) Load Userform1 ‘加载一个用户窗体,但该窗体处于隐藏状态
(87) Userform1.Hide ‘隐藏用户窗体
(88) Unload Userform1 或 Unload Me ‘卸载用户窗体
(89) (图像控件).Picture=LoadPicture(“图像路径”) ‘在用户窗体中显示图形
(90) UserForm1.Show 0 或 UserForm1.Show vbModeless ‘将窗体设置为无模式状态
(91) Me.Height=Int(0.88*ActiveWindow.Height) ‘窗体高度为当前活动窗口高度的0.88
     Me.Width=Int(0.88*ActiveWindow.Width) ‘窗体宽度为当前活动窗口高度的0.88

事件
(92) Application.EnableEvents=False ‘禁用所有事件
    Application.EnableEvents=True ‘启用所有事件
    注:不适用于用户窗体控件触发的事件

对象
(93) Set ExcelSheet = CreateObject("Excel.Sheet") ‘创建一个Excel工作表对象
     ExcelSheet.Application.Visible = True ‘设置 Application 对象使 Excel 可见
     ExcelSheet.Application.Cells(1, 1).Value = "Data" ‘在表格的第一个单元中输入文本
     ExcelSheet.SaveAs "C:TEST.XLS" ‘将该表格保存到C:test.xls 目录
     ExcelSheet.Application.Quit ‘关闭 Excel
     Set ExcelSheet = Nothing ‘释放该对象变量
(94) ‘声明并创建一个Excel对象引用
     Dim xlApp As Excel.Application
     Dim xlBook As Excel.Workbook
     Dim xlSheet As Excel.WorkSheet
     Set xlApp = CreateObject("Excel.Application")
     Set xlBook = xlApp.Workbooks.Add
     Set xlSheet = xlBook.Worksheets(1)
(95) ‘创建并传递一个 Excel.Application 对象的引用
     Call MySub (CreateObject("Excel.Application"))
(96) Set d = CreateObject(Scripting.Dictionary) ‘创建一个 Dictionary 对象变量
(97) d.Add "a", "Athens" ‘为对象变量添加关键字和条目

其他
(98) Application.OnKey “^I”,”macro” ‘设置Ctrl+I键为macro过程的快捷键
(99) Application.CutCopyMode=False ‘退出剪切/复制模式
(100) Application.Volatile True ‘无论何时工作表中任意单元格重新计算,都会强制计算该函数
      Application.Volatile False ‘只有在该函数的一个或多个参数发生改变时,才会重新计算该函数

定制模块行为 (101) Err.Clear ‘清除程序运行过程中所有的错误 工作簿 (102) ThisWorkbook.BuiltinDocumentProperties(“Last Save Time”) 或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Save Time”) ‘返回上次保存工作簿的日期和时间 (103) ThisWorkbook.BuiltinDocumentProperties("Last Print Date") 或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Print Date”) ‘返回上次打印或预览工作簿的日期和时间 (104) Workbooks.Close ‘关闭所有打开的工作簿 (105) ActiveWorkbook.LinkSources(xlExcelLinks)(1) ‘返回当前工作簿中的第一条链接 (106) ActiveWorkbook.CodeName ThisWorkbook.CodeName ‘返回工作簿代码的名称 (107) ActiveWorkbook.FileFormat ThisWorkbook.FileFormat ‘返回当前工作簿文件格式代码 (108) ThisWorkbook.Path ActiveWorkbook.Path ‘返回当前工作簿的路径(注:若工作簿未保存,则为空) (109) ThisWorkbook.ReadOnly ActiveWorkbook.ReadOnly ‘返回当前工作簿的读/写值(为False) (110) ThisWorkbook.Saved ActiveWorkbook.Saved ‘返回工作簿的存储值(若已保存则为False) (111) Application.Visible = False ‘隐藏工作簿 Application.Visible = True ‘显示工作簿 注:可与用户窗体配合使用,即在打开工作簿时将工作簿隐藏,只显示用户窗体.可设置控制按钮控制工作簿可见 工作表 (112) ActiveSheet.Columns("B").Insert ‘在A列右侧插入列,即插入B列 ActiveSheet.Columns("E").Cut ActiveSheet.Columns("B").Insert ‘以上两句将E列数据移至B列,原B列及以后的数据相应后移 ActiveSheet.Columns("B").Cut ActiveSheet.Columns("E").Insert ‘以上两句将B列数据移至D列,原C列和D列数据相应左移一列 (113) ActiveSheet.Calculate ‘计算当前工作表 (114) ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetHidden ‘正常隐藏工作表,同在Excel菜单中选择“格式——工作表——隐藏”操作一样 ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVeryHidden ‘隐藏工作表,不能通过在Excel菜单中选择“格式——工作表——取消隐藏”来重新显示工作表 ThisWorkbook.Worksheets(“sheet1”).Visible=xlSheetVisible ‘显示被隐藏的工作表 (115) ThisWorkbook.Sheets(1).ProtectContents ‘检查工作表是否受到保护 (116) ThisWorkbook.Worksheets.Add Count:=2, _ Before:=ThisWorkbook.Worksheets(2) 或 ThisWorkbook.Workshees.Add ThisWorkbook.Worksheets(2), , 2 ‘在第二个工作表之前添加两个新的工作表 (117) ThisWorkbook.Worksheets(3).Copy ‘复制一个工作表到新的工作簿 (118) ThisWorkbook.Worksheets(3).Copy ThisWorkbook.Worksheets(2) ‘复制第三个工作表到第二个工作表之前 (119) ThisWorkbook.ActiveSheet.Columns.ColumnWidth = 20 ‘改变工作表的列宽为20 ThisWorkbook.ActiveSheet.Columns.ColumnWidth = _ ThisWorkbook.ActiveSheet.StandardWidth ‘将工作表的列宽恢复为标准值 ThisWorkbook.ActiveSheet.Columns(1).ColumnWidth = 20 ‘改变工作表列1的宽度为20 (120) ThisWorkbook.ActiveSheet.Rows.RowHeight = 10 ‘改变工作表的行高为10 ThisWorkbook.ActiveSheet.Rows.RowHeight = _ ThisWorkbook.ActiveSheet.StandardHeight ‘将工作表的行高恢复为标准值 ThisWorkbook.ActiveSheet.Rows(1).RowHeight = 10 ‘改变工作表的行1的高度值设置为10 (121) ThisWorkbook.Worksheets(1).Activate ‘当前工作簿中的第一个工作表被激活 (122) ThisWorkbook.Worksheets("Sheet1").Rows(1).Font.Bold = True ‘设置工作表Sheet1中的行1数据为粗体 (123) ThisWorkbook.Worksheets("Sheet1").Rows(1).Hidden = True ‘将工作表Sheet1中的行1隐藏 ActiveCell.EntireRow.Hidden = True ‘将当前工作表中活动单元格所在的行隐藏 注:同样可用于列。 (124) ActiveSheet.Range(“A:A”).EntireColumn.AutoFit ‘自动调整当前工作表A列列宽 (125) ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlTextValues) ‘选中当前工作表中常量和文本单元格 ActiveSheet.Cells.SpecialCells(xlCellTypeConstants,xlErrors+xlTextValues) ‘选中当前工作表中常量和文本及错误值单元格 公式与函数 (126) Application.MacroOptions Macro:=”SumPro”,Category:=4 ‘将自定义的SumPro函数指定给Excel中的“统计函数”类别 (127) Application.MacroOptions Macro:=”SumPro”, _ Description:=”First Sum,then Product” ‘为自定义函数SumPro进行了功能说明 (128) Application.WorksheetFunction.CountA(Range(“A:A”))+1 ‘获取A列的下一个空单元格 (129) WorksheetFunction.CountA(Cell.EntireColumn) ‘返回该单元格所在列非空单元格的数量 WorksheetFunction.CountA(Cell.EntireRow) ‘返回该单元格所在行非空单元格的数量 (130) WorksheetFunction.CountA(Cells) ‘返回工作表中非空单元格数量 (131) ActiveSheet.Range(“A20:D20”).Formula=“=Sum(R[-19]C:R[-1]C”’对A列至D列前19个数值求和 图表 (132) ActiveWindow.Visible=False 或 ActiveChart.Deselect ‘使图表处于非活动状态 (133) TypeName(Selection)=”Chart” ‘若选中的为图表,则该语句为真,否则为假 (134) ActiveSheet.ChartObjects.Delete ‘删除工作表上所有的ChartObject对象 ActiveWorkbook.Charts.Delete ‘删除当前工作簿中所有的图表工作表 窗体和控件 (135) UserForms.Add(MyForm).Show ‘添加用户窗体MyForm并显示 (136)TextName.SetFocus ‘设置文本框获取输入焦点 (137) SpinButton1.Value=0 ‘将数值调节钮控件的值改为0 (138) TextBox1.Text=SpinButton1.Value ‘将数值调节钮控件的值赋值给文本框控件 SpinButton1.Value=Val(TextBox1.Text) ‘将文本框控件值赋给数值调节钮控件 CStr(SpinButton1.Value)=TextBox1.Text ‘数值调节钮控件和文本框控件相比较 (139) UserForm1.Controls.Count ‘显示窗体UserForm1上的控件数目 (140) ListBox1.AddItem “Command1” ‘在列表框中添加Command1 (141) ListBox1.ListIndex ‘返回列表框中条目的值,若为-1,则表明未选中任何列表框中的条目 (142) RefEdit1.Text ‘返回代表单元格区域地址的文本字符串 RefEdit1.Text=ActiveWindow.RangeSelection.Address ‘初始化RefEdit控件显示当前所选单元格区域 Set FirstCell=Range(RefEdit1.Text).Range(“A1”) ‘设置某单元格区域左上角单元格 (143) Application.OnTime Now + TimeValue("00:00:15"), "myProcedure" ‘等待15秒后运行myProcedure过程 (144) ActiveWindow.ScrollColumn=ScrollBarColumns.Value ‘将滚动条控件的值赋值给ActiveWindow对象的ScrollColumn属性 ActiveWindow.ScrollRow=ScrollBarRows.Value ‘将滚动条控件的值赋值给ActiveWindow对象的ScrollRow属性 (145) UserForm1.ListBox1.AddItem Sheets(“Sheet1”).Cells(1,1) ‘将单元格A1中的数据添加到列表框中 ListBox1.List=Product ‘将一个名为Product数组的值添加到ListBox1中 ListBox1.RowSource=”Sheet2!SumP” ‘使用工作表Sheet2中的SumP区域的值填充列表框 (146) ListBox1.Selected(0) ‘选中列表框中的第一个条目(注:当列表框允许一次选中多个条目时,必须使用Selected属性) (147) ListBox1.RemoveItem ListBox1.ListIndex ‘移除列表框中选中的条目 对象-Application对象 (148) Application.UserName ‘返回应用程序的用户名 (149) Application.Caller ‘返回代表调用函数的单元格 (150) Application.Caller.Parent.Parent ‘返回调用函数的工作簿名称 (151) Application.StatusBar=”请等待……” ‘将文本写到状态栏 Application.StatusBar=”请等待……” & Percent & “% Completed” ‘更新状态栏文本,以变量Percent代表完成的百分比 Application.StatusBar=False ‘将状态栏重新设置成正常状态 (152) Application.Goto Reference:=Range(“A1:D4”) ‘指定单元格区域A1至D4,等同于选择“编辑——定位”,指定单元格区域为A1至D4,不会出现“定位”对话框 (153) Application.Dialogs(xlDialogFormulaGoto).Show ‘显示“定位”对话框,但定位条件按钮无效 (154) Application.Dialogs(xlDialogSelectSpecial).Show ‘显示“定位条件”对话框 (155) Application.Dialogs(xlDialogFormatNumber).show ‘显示“单元格格式”中的“数字”选项卡 Application.Dialogs(xlDialogAlignment).show ‘显示“单元格格式”中的“对齐”选项卡 Application.Dialogs(xlDialogFontProperties).show ‘显示“单元格格式”中的“字体”选项卡 Application.Dialogs(xlDialogBorder).show ‘显示“单元格格式”中的“边框”选项卡 Application.Dialogs(xlDialogPatterns).show ‘显示“单元格格式”中的“图案”选项卡 Application.Dialogs(xlDialogCellProtection).show ‘显示“单元格格式”中的“保护”选项卡 注:无法一次显示带选项卡的“单元格格式”对话框,只能一次显示一个选项卡。 (156) Application.Dialogs(xlDialogFormulaGoto).show Range("b2"), True ‘显示“引用位置”的默认单元格区域并显示引用使其出现在窗口左上角(注:内置对话框参数的使用) (157) Application.CommandBars(1).Controls(2).Controls(16).Execute ‘执行“定位”话框,相当于选择菜单“编辑——定位”命令 (158) Application.Transpose(Array(“Sun”,”Mon”,”Tur”,”Wed”,”Thu”,”Fri”,”Sat”)) ‘返回一个垂直的数组 (159) Application.Version ‘返回使用的Excel版本号 (160) Application.Cursor = xlNorthwestArrow ‘设置光标形状为北西向箭头 Application.Cursor = xlIBeam ‘设置光标形状为Ⅰ字形 Application.Cursor = xlWait ‘设置光标形状为沙漏(等待)形 Application.Cursor = xlDefault ‘恢复光标的默认设置 (161) Application.WindowState ‘返回窗口当前的状态 Application.WindowState = xlMinimized ‘窗口最小化 Application.WindowState = xlMaximized ‘窗口最大化 Application.WindowState = xlNormal ‘窗口正常状态 (162) Application.UsableHeight ‘获取当前窗口的高度 Application.UsableWidth ‘获取当前窗口的宽度 (163) Application.ActiveCell.Address ‘返回活动单元格的地址(注:返回的是绝对地址) (164) Application.ActivePrinter ‘返回当前打印机的名称 (165) Application.ActiveSheet.Name ‘返回活动工作表的名称 (166) Application.ActiveWindow.Caption ‘返回活动窗口的标题 (167) Application.ActiveWorkbook.Name ‘返回活动工作簿的名称 (168) Application.Selection.Address ‘返回所选区域的地址 (169) Application.ThisWorkbook.Name ‘返回当前工作簿的名称 (170) Application.CalculationVersion ‘返回Excel计算引擎版本(右边四位数字)及Excel版本(左边两位数字) (171) Application.MemoryFree ‘以字节为单位返回Excel允许使用的内存数(不包括已经使用的内存) (172) Application.MemoryUsed ‘以字节为单位返回Excel当前使用的内存数 (173) Application.MemoryTotal ‘以字节为单位返回Excel可以使用的内存数(包括已使用的内存,是MemoryFree和MemoryUsed的总和) (174) Application.OperatingSystem ‘返回所使用的操作系统的名称和版本 (175) Application.OrganizationName ‘返回Excel产品登记使用的组织机构的名称 (176) Application.FindFormat ‘查找的格式种类 Application.ReplaceFormat ‘替换查找到的内容的格式种类 ActiveSheet.Cells.Replace What:=” “, _ Replacement:=” “,SearchFormat:=True,ReplaceFormat:=True ‘替换查找到的格式 (177) Application.Interactive=False ‘忽略键盘或鼠标的输入 (178) Application.Evaluate("Rate") ‘若在工作表中定义了常量0.06的名称为”Rate”,则本语句将返回值0.06 (179) Application.OnUndo “Undo Option”,“Undo Procedure” ‘选择UndoOption后,将执行Undo Procedure过程 Range对象 (180) Range(A1:A10).Value=Application.WorksheetFunction.Transpose(MyArray) ‘将一个含有10个元素的数组转置成垂直方向的工作表单元格区域(A1至A10) 注:因为当把一维数组的内容传递给某个单元格区域时,该单元格区域中的单元格必须是水平方向的,即含有多列的一行。若必须使用垂直方向的单元格区域,则必须先将数组进行转置,成为垂直的。 (181) Range(“A65536”).End(xlUp).Row+1 ‘返回A列最后一行的下一行 (182) rng.Range(“A1”) ‘返回区域左上角的单元格 (183) cell.Parent.Parent.Worksheets ‘访问当前单元格所在的工作簿 (184) Selection.Font.Bold=Not Selection.Font.Bold ‘切换所选单元格是否加粗 (185) ActiveSheet.Range("A:B").Sort Key1:=Columns("B"), Key2:=Columns("A"), _ Header:=xlYes ‘两个关键字排序,相邻两列,B列为主关键字,A列为次关键字,升序排列 (186) cell.Range(“A1”).NumberFormat ‘显示单元格或单元格区域中的第一个单元格的数字格式 (187) cell.Range(“A1”).HasFormula ‘检查单元格或单元格区域中的第一个单元格是否含有公式 或cell.HasFormula ‘工作表中单元格是否含有公式 (188) Cell.EntireColumn ‘单元格所在的整列 Cell.EntireRow ‘单元格所在的整行 (189) rng.Name.Name ‘显示rng区域的名称 (190) rng.Address ‘返回rng区域的地址 (191) cell.Range(“A1”).Formula ‘返回包含在rng区域中左上角单元格中的公式。 注:若在一个由多个单元格组成的范围内使用Formula属性,会得到错误;若单元格中没有公式,会得到一个字符串,在公式栏中显示该单元格的值。 (192) Range(“D5:D10”).Cells(1,1) ‘返回单元格区域D5:D10中左上角单元格 (193) ActiveCell.Row ‘活动单元格所在的行数 ActiveCell.Column ‘活动单元格所在的列数 (194) Range("A1:B1").HorizontalAlignment = xlLeft ‘当前工作表中的单元格区域数据设置为左对齐 (195) ActiveSheet.Range(“A2:A10”).NumberFormat=”#,##0” ‘设置单元格区域A2至A10中数值格式 (196) rng.Replace “ “,”0” ‘用0替换单元格区域中的空单元格 Collection与object (197) Dim colMySheets As New Collection Public colMySheets As New Collection ‘声明新的集合变量 (198) Set MyRange=Range(“A1:A5”) ‘创建一个名为MyRange的对象变量 (199) .Add Cell.Value CStr(Cell.Value) ‘向集合中添加惟一的条目(即将重复的条目忽略)

Windows API
(200) Declare Function GetWindowsDirectoryA Lib “kernel32” _
      (ByVal lpBuffer As String,ByVal nSize As Long) As Long ‘API函数声明。返回安装Windows所在的目录名称,调用该函数后,安装Windows的目录名称将在第一个参数lpBuffer中,该目录名称的字符串长度包含在第二个参数nSize中
(201) Set objExcel = CreateObject("Excel.Application")
      objExcel.Workbooks.Add ‘创建Excel工作簿
(202) Application.ActivateMicrosoftApp xlMicrosoftWord ‘开启Word应用程序
(203) Application.TemplatesPath ‘获取工作簿模板的位置
(204) Application.Calculation = xlCalculationManual ‘设置工作簿手动计算
      Application.Calculation = xlCalculationAutomatic ‘工作簿自动计算
(205) Worksheets(1).EnableCalculation = False ‘不对第一张工作表自动进行重算
(206) Application.CalculateFull ‘重新计算所有打开的工作簿中的数据
(207) Application.RecentFiles.Maximum = 5 ‘将最近使用的文档列表数设为5
(208) Application.RecentFiles(4).Open ‘打开最近打开的文档中的第4个文档
(209) Application.OnTime DateSerial(2006,6,6)+TimeValue(“16:16:16”),“BaoPo” ‘在2006年6月6日的16:16:16开始运行BaoPo过程
(210) Application.Speech.Speak ("Hello" & Application.UserName) ‘播放声音,并使用用户的姓名问候用户
(211) MsgBox Application.PathSeparator ‘获取""号
(212) MsgBox Application.International(xlCountrySetting) ‘返回应用程序当前所在国家的设置信息
(213) Application.AutoCorrect.AddReplacement "葛洲坝", "三峡" ‘自动将在工作表中进行输入的"葛洲坝"更正为"三峡"
(214) Beep ‘让计算机发出声音
(215) Err.Number ‘返回错误代码
(216) MsgBox IMEStatus ‘获取输入法状态
(217) Date = #6/6/2006#
      Time = #6:16:16 AM# ‘将系统时间更改为2006年6月6日上午6时16分16秒
(218) Application.RollZoom = Not Application.RollZoom ‘切换是否能利用鼠标中间的滑轮放大/缩小工作表
(219) Application.ShowWindowsInTaskba = True ‘显示任务栏中的窗口,即各工作簿占用各自的窗口
(220) Application.DisplayScrollBars = True ‘显示窗口上的滚动条
(221) Application.DisplayFormulaBar = Not Application.DisplayFormulaBar ‘切换是否显示编辑栏
(222) Application.Dialogs(xlDialogPrint).Show ‘显示打印内容对话框
(223) Application.MoveAfterReturnDirection = xlToRight ‘设置按Enter键后单元格的移动方向向右
(224) Application.FindFile ‘显示打开对话框
(225) ThisWorkbook.FollowHyperlink http://fanjy.blog.excelhome.net ‘打开超链接文档
(226) ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly ‘将当前工作簿设置为只读
(227) ActiveWorkbook.AddToFavorites ‘将当前工作簿添加到收藏夹文件夹中
(228) ActiveSheet.CheckSpelling ‘在当前工作表中执行"拼写检查"
(229) ActiveSheet.Protect userinterfaceonly:=True ‘保护当前工作表
(230) ActiveSheet.PageSetup.LeftHeader = ThisWorkbook.FullName ‘在当前工作表的左侧页眉处打印出工作簿的完整路径和文件名
(231) Worksheets("Sheet1").Range("A1:G37").Locked = False
      Worksheets("Sheet1").Protect
      ‘解除对工作表Sheet1中A1:G37区域单元格的锁定
      ‘以便当该工作表受保护时也可对这些单元格进行修改
(232) Worksheets("Sheet1").PrintPreview ‘显示工作表sheet1的打印预览窗口
(233) ActiveSheet.PrintPreview Enablechanges:=False ‘禁用显示在Excel的“打印预览”窗口中的“设置”和“页边距”按钮
(234) ActiveSheet.PageSetup.PrintGridlines = True ‘在打印预览中显示网格线
      ActiveSheet.PageSetup.PrintHeadings = True ‘在打印预览中显示行列编号
(235) ActiveSheet.ShowDataForm ‘开启数据记录单
(236) Worksheets("Sheet1").Columns("A").Replace _
      What:="SIN", Replacement:="COS", _
      SearchOrder:=xlByColumns, MatchCase:=True ‘将工作表sheet1中A列的SIN替换为COS
(237) Rows(2).Delete ‘删除当前工作表中的第2行
      Columns(2).Delete ‘删除当前工作表中的第2列
(238) ActiveWindow.SelectedSheets.VPageBreaks.Add before:=ActiveCell ‘在当前单元格左侧插入一条垂直分页符
      ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell ‘在当前单元格上方插入一条垂直分页符
(239) ActiveWindow.ScrollRow = 14 ‘将当前工作表窗口滚动到第14行
      ActiveWindow.ScrollColumn = 13 ‘将当前工作表窗口滚动到第13列
(240) ActiveWindow.Close ‘关闭当前窗口
(241) ActiveWindow.Panes.Count ‘获取当前窗口中的窗格数
(242) Worksheets("sheet1").Range("A1:D2").CreateNames Top:=True ‘将A2至D2的单元格名称设定为A1到D1单元格的内容
(243) Application.AddCustomList listarray:=Range("A1:A8") ‘自定义当前工作表中单元格A1至A8中的内容为自动填充序列
(244) Worksheets("sheet1").Range("A1:B2").CopyPicture xlScreen, xlBitmap ‘将单元格A1至B2的内容复制成屏幕快照
(245) Selection.Hyperlinks.Delete ‘删除所选区域的所有链接
      Columns(1).Hyperlinks.Delete ‘删除第1列中所有的链接
      Rows(1).Hyperlinks.Delete ‘删除第1行中所有的链接
      Range("A1:Z30").Hyperlinks.Delete ‘删除指定范围所有的链接
(246) ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, _
      Address:="C:WindowsSystem32Calc.exe", ScreenTip:="按下我,就会开启Windows计算器", TextToDisplay:="Windows计算器" ‘在活动单元格中设置开启Windows计算器链接
(247) ActiveCell.Value = Shell("C:WindowsSystem32Calc.exe", vbNormalFocus) ‘开启Windows计算器
(248) ActiveSheet.Rows(1).AutoFilter ‘打开自动筛选。若再运行一次,则关闭自动筛选
(249) Selection.Autofilter ‘开启/关闭所选区域的自动筛选
(250) ActiveSheet.ShowAllData ‘关闭自动筛选
(251) ActiveSheet.AutoFilterMode ‘检查自动筛选是否开启,若开启则该语句返回True
(252) ActiveSheet.Columns("A").ColumnDifferences(Comparison:=ActiveSheet. _
      Range("A2")).Delete ‘在A列中找出与单元格A2内容不同的单元格并删除
(253) ActiveSheet.Range("A6").ClearNotes ‘删除单元格A6中的批注,包括声音批注和文字批注
(254) ActiveSheet.Range("B8").ClearComments ‘删除单元格B8中的批注文字
(255) ActiveSheet.Range("A1:D10").ClearFormats ‘清除单元格区域A1至D10中的格式
(256) ActiveSheet.Range("B2:D2").BorderAround ColorIndex:=5, _
      Weight:=xlMedium, LineStyle:=xlDouble ‘将单元格B2至D2区域设置为蓝色双线
(257) Range("A1:B2").Item(2, 3)或Range("A1:B2")(2, 3) ‘引用单元格C2的数据
      Range("A1:B2")(3) ‘引用单元格A2
(258) ActiveSheet.Cells(1, 1).Font.Bold = TRUE ‘设置字体加粗
      ActiveSheet.Cells(1, 1).Font.Size = 24 ‘设置字体大小为24磅
      ActiveSheet.Cells(1, 1).Font.ColorIndex = 3 ‘设置字体颜色为红色
      ActiveSheet.Cells(1, 1).Font.Italic = TRUE ‘设置字体为斜体
      ActiveSheet.Cells(1, 1).Font.Name = "Times New Roman" ‘设置字体类型
      ActiveSheet.Cells(1, 1).Interior.ColorIndex = 3 ‘将单元格的背景色设置为红色
(259) ActiveSheet.Range("C2:E6").AutoFormat Format:=xlRangeAutoFormatColor3 ‘将当前工作表中单元格区域C2至E6格式自动调整为彩色3格式
(260) Cells.SpecialCells(xlCellTypeLastCell) ‘选中当前工作表中的最后一个单元格
(261) ActiveCell.CurrentArray.Select ‘选定包含活动单元格的整个数组单元格区域.假定该单元格在数据单元格区域中
(262) ActiveCell.NumberFormatLocal = "0.000; [红色] 0.000" ‘将当前单元格数字格式设置为带3位小数,若为负数则显示为红色
(263) IsEmpty (ActiveCell.Value) ‘判断活动单元格中是否有值
(264) ActiveCell.Value = LTrim(ActiveCell.Value) ‘删除字符串前面的空白字符
(265) Len(ActiveCell.Value) ‘获取活动单元格中字符串的个数
(266) ActiveCell.Value = UCase(ActiveCell.Value) ‘将当前单元格中的字符转换成大写
(267) ActiveCell.Value = StrConv(ActiveCell.Value, vbLowerCase) ‘将活动单元格中的字符串转换成小写
(268) ActiveSheet.Range("C1").AddComment ‘在当前工作表的单元格C1中添加批注
(269) Weekday(Date) ‘获取今天的星期,以数值表示,1-7分别对应星期日至星期六
(270) ActiveSheet.Range("A1").AutoFill Range(Cells(1, 1), Cells(10, 1)) ‘将单元格A1的数值填充到单元格A1至A10区域中
(271) DatePart("y", Date) ‘获取今天在全年中的天数
(272) ActiveCell.Value = DateAdd("yyyy", 2, Date) ‘获取两年后的今天的日期
(273) MsgBox WeekdayName(Weekday(Date)) ‘获取今天的星期数
(274) ActiveCell.Value = Year(Date) ‘在当前单元格中输入今年的年份数
      ActiveCell.Value = Month(Date) ‘在当前单元格中输入今天所在的月份数
      ActiveCell.Value = Day(Date) ‘在当前单元格中输入今天的日期数
(275) ActiveCell.Value = MonthName(1) ‘在当前单元格中显示月份的名称,本句为显示"一月"
(276) ActiveCell.Value = Hour(Time) ‘在当前单元格中显示现在时间的小时数
      ActiveCell.Value = Minute(Time) ‘在当前单元格中显示现在时间的分钟数
      ActiveCell.Value = Second(Time) ‘在当前单元格中显示现在时间的秒数
(277) ActiveSheet.Shapes(1).Delete ‘删除当前工作表中的第一个形状
(278) ActiveSheet.Shapes.Count ‘获取当前工作表中形状的数量
(279) ActiveSheet.Shapes(1).TextEffect.ToggleVerticalText ‘改变当前工作表中第一个艺术字的方向
(280) ActiveSheet.Shapes(1).TextEffect.FontItalic = True ‘将当前工作表中第一个艺术字的字体设置为斜体
(281) ActiveSheet.Shapes.AddTextEffect(msoTextEffect21, "三峡", _
      "Arial Black", 22#, msoFalse, msoFalse, 66#, 80).Select ‘在当前工作表中创建一个名为"三峡"的艺术字并对其进行格式设置和选中
(282) ActiveSheet.Shapes.AddLine(BeginX:=10, BeginY:=10, EndX:=250, _
      EndY:=100).Select ‘在当前工作表中以(10,10)为起点(250,100)为终点画一条直线并选中
(283) ActiveSheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _
      Left:=70, Top:=40, Width:=130, Height:=72).Select ‘在当前工作表中画一个左上角在(70,40),宽为130高为72的三角形并选中
(284) ActiveSheet.Shapes.AddShape(Type:=msoShapeRectangle, _
      Left:=70, Top:=40, Width:=130, Height:=72).Select ‘在当前工作表中画一个以点(70,40)为起点,宽130高72的矩形并选中
(285) ActiveSheet.Shapes.AddShape(Type:=msoShapeOval, _
      Left:=70, Top:=40, Width:=130, Height:=72).Select ‘在当前工作表中画一个左上角在(70,40),宽为130高为72的椭圆
(286) ActiveSheet.Shapes(1).Line.ForeColor.RGB = RGB(0, 0, 255) ‘将当前工作表中第一个形状的线条颜色变为蓝色
(287) ActiveSheet.Shapes(2).Fill.ForeColor.RGB = RGB(255, 0, 0) ‘将当前工作表中第2个形状的前景色设置为红色
(288) ActiveSheet.Shapes(1).Rotation = 20 ‘将当前工作表中的第1个形状旋转20度
(289) Selection.ShapeRange.Flip msoFlipHorizontal ‘将当前选中的形状水平翻转
      Selection.ShapeRange.Flip msoFlipVertical ‘将当前选中的形状垂直翻转
(290) Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD1 ‘将所选取的形状设置为第1种立体样式
(291) ActiveSheet.Shapes(1).ThreeD.Depth = 20 ‘将当前工作表中第一个立体形状的深度设置为20
(292) ActiveSheet.Shapes(1).ThreeD.ExtrusionColor.RGB = RGB(0, 0, 255) ‘将当前工作表中第1个立体形状的进深部分的颜色设为蓝色
(293) ActiveSheet.Shapes(1).ThreeD.RotationX = 60 ‘将当前工作表中的第1个立体形状沿X轴旋转60度
      ActiveSheet.Shapes(1).ThreeD.RotationY = 60 ‘将当前工作表中的第1个立体形状沿Y轴旋转60度
(294) Selection.ShapeRange.ThreeD.Visible = msoFalse ‘将所选择的立体形状转换为平面形状
(295) Selection.ShapeRange.ConnectorFormat.BeginDisconnect ‘在形状中让指定的连接符起点脱离原来所连接的形状
(296) ActiveSheet.Shapes(1).PickUp ‘复制当前工作表中形状1的格式
(297) ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 260, 160, 180, 30). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" ‘在工作簿中新建一个文本框并输入内容
(298) ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, 20, 80, 100, 200). TextFrame.Characters.Text = "fanjy.blog.excelhome.net" ‘在当前工作表中建立一个水平文本框并输入内容
(299) ActiveSheet.Shapes.AddPicture "d:sx.jpg", True, True, 60, 20, 400, 300 ‘在当前工作表中插入一张d盘中名为sx的图片
(300) ActiveChart.ApplyCustomType xl3DArea ‘将当前图表类型改为三维面积图

Technorati Tags: ,,,

软路由

一、什么是软件路由器?
一般认为用普通PC安装一套专用的路由器程序组成的系统称为软件路由器. 486电脑+免费的软件=专业的软件路由器。
二 、软件路由器技术复杂吗?
不复杂,非常简单,会用普通操作PC就可以安装软件路由
三、常见的软件路由器有那些?
根据使用的操作不同可以分为基于windows平台和基于Linux/bsd平台开发的软件路由器,基于Windows平台的软件防火墙比较常见的有ISA Server、Winroute Firewall等,这些软件都是商业化的,通常根据授权用户数不同收费而不同,购买正版的软件防火墙的费用对许多中小型企业来说无疑是一笔不小的开支。有而基于Unix/Linux平台的软件防火墙大家一般接触较少,受益于开放源码运行,目前基于Unix/Linux平台的软件防火墙如雨后春笋般不断推出,这些软件防火墙大多是免费的,常见的有RouterOS、m0n0Wall、SmoothWall、Ipcop、CoyoteLinux等,这些系统共有的特点是一般对硬件要求较低,甚至只需要一台486电脑,一张软盘,两块网卡就可以安装出一台非常专业的软件防火墙,这对很多有淘汰下来的低档电脑的朋友来说,意味着拿一台淘汰的电脑,安装一套免费的防火墙软件,不花一分钱就DIY出一台专业的防火墙,而且这些系统自身也包含了NAT功能,同时可以实现宽带共享,这意味着这台免费的防火墙其实也是一台出色的宽带路由器,这是多么令人激动的事情。
四、软件路由器功能如何?
不同的软件路由器功能不一样,绝大部分基于Linux/bsd的免费软件路由器功能并不比商业的差,而且比商业的功能还要强大。
五、软件路由器的性能和稳定性如何?
目前常见的硬件宽带路由器,绝大部分都是用软件来实现的,跟软件路由器是一样的,而且软件路由器一般硬件配置要比硬件的宽带路由器配置高,所以某些情况下速度比几千上万元的硬件路由器稳定还要快。至于软件路由器的稳定性,受益于稳定的Linux和BSD内核,软件路由器的稳定性非常好,我见过最长时间不用重启的软件路由器,已经有一年多了。
六、制作软件路由器需要什么配件?
一台486以上,8M内存以上的普通PC,再加两块网卡就可以了,有些软件路由器如CoyoteLinux只需一张软盘就可以了,对于网卡没有特殊的要求,常见的Rtl8139 和530tx,3COM905B-TX,Intel82559 服务器网卡等都可以,不过根据我们的经验,一台工作良好的软件路由器,网卡一定要好,所以我们会推荐你使用iNTEL或3COM品牌的网卡,特别是Intel82559效果非常不错。如果经验条件许可,购买一个电子硬盘或CF-IDE转接卡再配上CF存储卡,是不错的选择,这样做出来的软件路由器,可以跟硬件的路由器相比了。
七、软件路由器会淘汰硬件路由器吗?
不会,但是软件路由器会逐渐占领更多的硬件路市场,软件路由器还不能淘汰硬件路由器,它们的市场定位不同,而且在高端只有硬件路由器才能胜任,但对于一般的应用象网吧、学校、机关等用软件路由器可以获得更高的经济效益。
八、哪里可以下载到软件路由器?(感谢yabug和wsgtrsys提供)
1.Hi-Spider Router 目前国内最好的中文软路由
http://www.hi-spider.com 免费版功能都相当的强大
2.老牌中文软路由bbiagent,全中文,但需要注册购买
http://www.bbiagent.net/gb/index.html
3.Coyote北美土狼,方便好用,负载能力强,一张软盘即可。免费
http://www.coyotelinux.com/
4.FreeSCO看名字就知道她的能力了,免费的类cisco路由软件。
http://www.freesco.info/
5.Floppyfw最早的linux LRP项目之一的产物
http://www.zelow.no/floppyfw
6.SmoothWall和IPCOP之所以要放在一起,因为他们是用一个内核开发的,功能也不相上下
http://www.smoothwall.orghttp://www.ipcop.org
7.RouterOS这个软件有点争议,号称ISP级软路由,支持多路由协议,实际效果并不如意
http://www.mikrotik.com
8.Fli4l德国的一个软路由,对ADSL支持非常好
http://www.fli4l.de/
9.Clarkconnect偶的最爱,呵呵!功能无比强大。就是体积大了点,象个大胖子
10.http://www.clarkconnect.org
11.http://www.netboz.net/
12.http://people.freebsd.org/~picobsd/
13.http://www.docum.org/docum.org/
14.http://m0n0.ch/wall/
九、到那里可以学会软件路由器技术?
目前比较流行的软件路由器都是国外的,国外软件路由器开发商的官方网站不错的学习地方。国内大家可以到以下网址学习:
中国路由网 Www.Router.Net.cn
ISA中国 Www.ISAcn.org。
十、使用软件路由器违法吗?
大部分软件路由器都是开放源码或是软件的,所以学会软件路由器后我们可以给别人安装收取一定的费用,只要心不要太黑就行,另外要心中常挂念教你会的网友,当然象RouteOS/SMOOthwall商业版是收费软件,D版的建议大家不要用,当然要用也可以,最好是自己用就行了,否则出问题后果自负了。
谨以此文献给初学软件路由器的朋友,希望大家一路走好

Technorati Tags: ,,

DDR3不如DDR2 么

迷思一:CL太高,所以DDR3很烂?
周期时间是时脉速率的倒数
DDR 400 = 1/200Mhz = 5ns
DDR2 800 = 1/400Mhz = 2.5ns
DDR3 1600 = 1/800Mhz = 1.25ns
真实反应时间为CAS X 周期时间,CAS= 真实反应时间÷周期时间(CAS,CAS Latency简称CL)
DDR 400 CL=2.5 5ns X 2.5 = 12.5ns
DDR 2 800 CL= 5 2.5ns X 5 = 12.5ns
DDR 3 1600 CL = 9 1.25ns X 9 = 11.25ns
迷思二:数字比较大还输真是烂透了?DDR2 667<DDR 400? DDR3 1066<DDR2 800?
DDR 400 记忆体频率200Mhz,工作频率 200Mhz 真实反应时间12.5ns
DDR2 667 记忆体频率166Mhz,工作频率 333Mhz 真实反应时间 1 ÷ 333Mhz X 5 = 15ns
DDR2 800 记忆体频率200Mhz,工作频率 400Mhz 真实反应时间12.5ns
DDR3 1066 记忆体频率133Mhz,工作频率 533Mhz 真实反应时间1 ÷ 533Mhz X 7 = 13ns
DDR3 1333 记忆体频率166Mhz,工作频率667Mhz 真实反应时间 1÷ 667Mhz X 7 = 10ns
记忆体频率与资料传输率
我们先看DDR的定义:双倍速同步动态随机存取记忆体即DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) 为具有双倍资料传输率之SDRAM,其资料传输速度为系统时脉之两倍,由于速度增加,其传输效能优于传统的SDRAM。
而DDR2则是4倍资料传输率,DDR3则是8倍资料传输率。
产品的标示则是使用资料传输率。
所以100Mhz的记忆体频率在三代的产品分别就是DDR 200/DDR2 400/DDR3 800
详细列表(在公司不能上传图档,用打字的,敬请见谅)
100Mhz : DDR 200 / DDR2 400 / DDR3 800
133Mhz : DDR 266 / DDR2 533 / DDR3 1066
166Mhz : DDR 333 / DDR2 667 / DDR3 1333
200Mhz : DDR 400 / DDR2 800 / DDR3 1600
266Mhz : DDR 533 / DDR2 1066 / DDR3 2033
*米黄色为无此标准规格
迷思三:记忆体频率太低的DRAM是废物?
记忆体频宽(memoryBandwidth)= 资料传输率 X 2 (DDR同时读写资料特性)X 32 (32bit Data address)
DDR 400 400 X 2 X 32 = 25600MBit/s = 3200 MB/s =3.2GB/s
DDR2 533 533 X 2 X 32 = 4.2GB/s
DDR2 1066 1066 X 2 X 32 = 8.5GB/s
迷思四:频宽够用,要那么大干嘛?反正都塞不满,频宽大还不如反应时间短。
古早组,为什么要有双通道?
AMD K7 FSB 100/133/166/200Mhz 频宽:800/1066/1333/1666MB/s
Intel P4 FSB 400/533/800Mhz 频宽:3200/4300/6400MB/s
最快的DDR 400只有3200MB/s根本就不够用。
双通道就此产生:3200+3200 =6400MB/s
现代FSB组 LGA775 C2D/C2Q
FSB800 :6400MB/s
FSB1066 :8533MB/s
FSB1333 :10666MB/s
FSB1600 :12800MB/s
AMD HT
939:Version 1.0:6.4 GB/s、1600 MHz
AM2:Version 2.0:8.0 GB/s、2000 MHz
AM2+/AM3:Version 3.0:20.8 GB/s、5200 MHz(Max)
Intel QPI LGA1366 i7
965 : 6.4GT/s = 25.6GB/s
950/940/920 : 4.8 GT/s =19.2GB/s
记忆体频宽
DDR2 800 800 X 2 X 32 = 6.4GB/s 双通道 12.8GB/s
DDR2 1066 1066 X 2 X 32 =8.5GB/s 双通道17GB/s
DDR3 1066 1066 X 2 X 32 =8.5GB/s 双通道17GB/s 三通道 25.6GB/s
DDR3 1600 1600 X 2 X 32 = 12.8GB/s 双通道25.6GB/s 三通道38.4GB/s
超简化算数
Phenom II X4 940 + DDR2 800 Dual Channel + 780G
940:1.8(HT:1800Mhz)X2X32÷8=14.4GB/s
DDR2 800 Dual channel 6.4GB/s+6.4GB/s = 12.8GB/s
12.8GB/s <14.4GB/s
12.8GB/s+12.8GB/s > 14.4GB/s
反应时间:12.5ns X 2 = 25ns
i7 920 + DDR3 1066 + X58
920 : 19.2GB/S
DDR3 1066 3channel : 25.6GB/s
25.6GB/s > 19.2GB/s
反应时间 :13ns X 1 = 13ns
新CPU可以用在旧版子上,AMD足感心A~
Phenom II X4 940 + DDR2 800 Dual Channel + 690G
940:1.8(HT:1800Mhz)X2X32÷8=14.4GB/s
DDR2 800 Dual channel 6.4GB/s+6.4GB/s = 12.8GB/s
HT2.0 :8GB/s
12.8 GB/s > 8GB/s
在多新增几个常用组合的超简化算数
5400+:1.0(HT:1000Mhz)X2X32÷8=8GB/s
6000+:1.0(HT:1000Mhz)X2X32÷8=8GB/s
7750 :1.8(HT:1800Mhz)X2X32÷8=14.4GB/s
8450e:1.8(HT:1800Mhz)X2X32÷8=14.4GB/s
9850 :2.0(HT:2000Mhz)X2X32÷8=16GB/s
DDR2 800 Dual channel 6.4GB/s+6.4GB/s = 12.8GB/s
还需要说啥?来看看救星吧:
DDR2 1066 1066 X 2 X 32 =8.5GB/s 双通道17GB/s 约900~1200
DDR3 1066 1066 X 2 X 32 =8.5GB/s 双通道17GB/s 找不到…大概被以讹传讹嫌翻了,没人进来卖
DDR3 1333 1333 X 2 X 32 =10.6GB/s 双通道21.2GB/s 约1100~1300
又更别说有很多DDR2 1066都是这种的。
http://www.tomshardware.com/cn/1480,review-1480-2.html
非Jedec 1066而是OC 1066

Technorati Tags: ,

80后有什么特征 看看就知道

看多了描写我们80后特征的文章,这算是我看过最为经典、贴切的一篇了吧?拿出来让大家对照一下,看有哪些符合咱。

1、家里可以没有电视机,但一定要有电脑。再大的电视也只是摆设,电脑才是生活之必需。(我靠电视吃饭呢,我都不看电视,因为机顶盒太崴)

2、坚决信奉“有问题,百度一下”,无论什么问题,都习惯上网搜索一下,包括不会写的字。(经常百度,不过不会写的字怎么查呢)

3、电脑里一定有聊天工具。不联网的电脑是可耻的,开电脑一定先登陆QQ(我也是从来都隐身)。

4、喜欢小动物胜过小孩,可以不辞辛劳的给小猫一周洗一次澡,但没耐心看护一个哇哇大哭婴儿超过半个小时。(我喜欢大狗)

5、永远不知道自己的钱花到哪儿去了。其实没买什么、其实没吃什么,但钱就是不见了。(我一直怀疑有人知道我卡的密码)

6、事不关己,高高挂起:“听说某某明星又和某某大款出传绯闻了?”“不知道,关我什么事!”对明星的态度:只有喜欢和讨厌,没有崇拜;更不会为他浪费时和金钱。(追星很可悲,他好或坏关我鸟事)

7、熟人面前是话痨,生人面前一言不发,不是不爱说话,而是跟你没什么话可讲。刚开始与人打交道的时候少言寡语,但不出两月就原形毕露了…(难道别人说我闷骚就是这个原因?)

8、如果一开始对一个人有好感就会一直处下去,每换一个新环境就会交一些新朋友,但始终只对一个人最好。(恩,5年了,对女朋友一个人最好)

9、业余爱好中必有一项是睡觉。凌晨12点以前很少会睡着,但没有重要的事不会在8点以前起床。其实我们不困,我们就是想睡。(周末关掉手机睡到下午两点的感觉太好了)

10、偶尔心血来潮就会玩消失。有可能是手机没电了,有可能是起床晚了,有可能只是想看看你们有什么反应。(电话本里的人和我一样沉默寡言)

11、饿了就吃,饿了才吃,有时候饿了也不吃。吃饭是为了活着,活着不是为了吃饭;经常早饭中饭并在一起吃。(我是早中晚一起吃)

12、一个人的时候,宁愿煮面甚至不吃也不会轻易做饭。反正做出来也不一定会好吃,因为一顿饭浪费几个小时的时间去卖菜,洗菜,切,煮,炒,最后还得自己一个人收拾残局,不值。(我极端讨厌洗碗)

13、减肥是永远不变的话题。见到体重秤如果旁边有人是坚决不肯站上去的。(正好相反,体重是我最值得炫耀的东西)

14、重要的是结果,不是过程。不要用你们定好的规矩来约束我们(比如打字的手法),我们是不正规,但结果同样会做的很好。(谁说你说的就是对的,只能这么来)

15、“随便”,觉得什么都可以,什么都还行;只要方便简单,哪有那么多时间去浪费?(无语了)

16、常常不知道今天是多少号,连过节都是在收到铺天盖地的祝福短信后才恍然大悟。(这个还是知道的,因为我迫切想周末)

17、出门必带三样宝:手机,钥匙,钱。基本是机不离身,总是假装会有人给自己打电话;钥匙就不用说了吧,除非你没有家;“钱不是万能的,没有钱是万万不能的”身上必备数十RMB,以防不时之需。(我最穷的时候身上的钱只够买一斤苦菜)

18、从来不用钱包,装钱包是给小偷指路的,无论身上带多少钱,都只会揣兜里。(这个不太贴切哦,现在人卡多,钱包得用来装卡。)

19、买衣服只去专卖店。谁还去百货公司、大卖场买衣服?每个人必须有自己所钟爱的服装小店。(不是吧,我是比较信赖家乐福和沃尔玛了,省事,便宜还耐穿)

20、爱去小店淘宝,常常见到漂亮的小饰品就买——虽然很少佩戴。(这个我没有发言权,我是男的)

21、买东西从来不问单价,只有一句:一共多少钱? 从来不会因为几毛钱去和卖菜的大婶讨价还价。(我每次买的东西不超过十样,多了麻烦)

22、最喜欢逛的地方是超市。因为不喜欢讨价,超市是明码标价,童叟无欺。(我大部分的东西都在超市买)

23、热衷于研究新产品。家里添置了新的电器一定会在第一天就把所有的功能都试用一遍。(我讨厌摩托罗拉写说明书的人,好多实用功能都没有写进去)

24、拥有超丰富的想象力:一只流浪狗,一个漂亮的小孩,都会让我浮想连连,为他构思出许多种未来。(麻烦,没心情)

25、经常莫名其妙的发呆。因为脑子里有太多想法了,有时候都不知道自己在想什么。(想着我的钱究竟哪里去了)

26、开始害怕过生日。总希望能一直活在20岁,过一年就又大一岁,也意味着要承担的责任也越来越多。(无所谓啦,总要老的)

27、害怕被人叫做阿姨。虽然知道自己也老大不小了,但遇到十几岁的孩子(虽然自己也叫他们孩子)最害怕他们称自己为阿姨;心里总会大大的悲哀一把:“不会吧?我看起来有那么老了吗?”(我是叔叔)

28、MP3里的歌至少一星期换一次。这个月还超喜欢的新歌,下个月再听就老掉牙了。(手机兼职mp3,很少听,也好长时间不换歌了,不是说长期用耳机听歌会损坏听力吗)

29、很少打电话,经常发短信。不想用声音交流,只想用文字沟通,哪怕会耗费更多的时间和金钱。(我最高的时候一个月花了300多块用来发短信)

30、不喜欢记笔记,宁愿打字。买笔记本从来不在上面写字,只是为了好看的封面和纸张而收集。(所以字写的越来越难看)

31、可以拼出每个字,但不见得能写出来。要么是因为电脑用多了忘了,要么是因为字写得很难看而不愿写。(现在写得最多的字就是各种人的电话号码)

32、喜欢看而不是读。从小便练就了一目十行的本领,看书从来不一个字一个字的读。(看完内容也全忘了)

33、越拽的人就越不屑他!切,你傲什么傲,以为地球离了你就不转了啊?谁都别太把自己当回事。(恩!就是这样)

Technorati Tags: ,

转:真实的日本

作者:彭毅,来源爱枣报
因伟大奥运之故,有幸得以去日本游览了几天,从踏上这片岛屿开始,同事们就都在讨论生活水平,国民素质,幸福感等问题。短短的七天里,我们从名古屋 坐大巴到京都,然后坐新干线到大阪,又从大阪飞往北海道,后又飞到东京,一路下来,所见所闻实在感触良多。很想写一篇文章来唠叨一下,无奈实在文笔不好, 记忆力不清,又非常之懒,正好在网上看到一篇文章,把我想要说的,都说了,那就转过来给大家看看吧。
对于日本,在我的印象里除了参拜神社,就是经济停滞不前,等等。真实的日本是这样的吗?最广大的日本人民生活水平到底怎么样呢?本文是在网上一篇文章的基础上修改的,增加了一些我亲身体会到的东西,补充了一些图片。大家看看吧。

先总地来说把,日本在下列领域掌握着领先技术:

超导技术: 日本开始研究超导新干线,预计时速将到达500公里。实力公司包括:日立,东芝,日本车辆,三菱重工等。而日本现行运营的新干线是在1964年就通车了,时速300公里。我们国家的动车组现在的速度也才200公里。

材料技术:NEC,东芝,日立,古河电工,神户制铁所,住友电工,东京电力,等等;

纳米技术:高速通信技术,NEC,日立;下一代DVD技术:SONY;东芝;

下下一代DVD技术:日立;平面显示屏技术:佳能,SONY,双叶电子;硅技术:东京微电子,尼康;

MEMS:三菱电机,夏普,松下;

宇宙:石川岛播磨重工;川崎重工,三菱重工;东芝,NEC,三菱电机;

在传统行业领域,世界现状大致如下:

钢铁:第一名是卢森堡的公司,第二荷兰公司,第三名是新日本制铁;第四名是JFE制铁(日本);中国的宝钢排在第六位(与日本合资);

化学:三菱化学排在第五位。前四名是美国和德国瓜分;旭化成第九位。

汽车:丰田已经超过了通用,排在首位,日产、本田都再前十之列。

家用电器:松下,日立,东芝,夏普,三菱电机是前五名,前十五名被日本包揽。

半导体:日立和三菱合资的半导体公司排第四位,英特尔高居榜首;

通信领域:NTT独占鳌头。

一般认为,新技术从研究到成熟是一个阶段,从成熟到应用是第二阶段。第二个阶段的时间10-15年。换句话说,如果现在想应用一项新技术,它必须在 10年之前就已经成熟了,否则不能应用。日本正在计划建设超导新干线,也就是说,他的超导方面的研究,在十年前就已经成熟了。

日本在某些领域面对的强大对手依然是美国。偶尔有某些欧洲老牌公司在销售额方面领先。在可以预见的将来,中国不可能成为日本的对手,因为中国无论在 传统领域还是在新技术方面,都不值得一提。上述所有行业,以前15名为基准,只能看到一个中国公司的名字:宝钢,还是采用日本的技术的合资企业。

普通日本人的吃学住医

我在日本生活十多年,博士毕业收入比日本人略高。和普通日本人的生活基本一样。可以客观的介绍普通日本人的吃学住医等,也就是他们现在的生活,教 育,住房,医疗,交通事情。首先要说明的有两点,一是在日本打工几年省吃简用回国的人过的不是普通日本人的生活,他们的观感有一定的片面性,二是请大家心 平气和的看这篇介绍,做到知己知彼,思考怎样学习改变。

1.吃

收入与购买力日本人固定月工资一般可以简单的计算,大约多少岁每月就可以挣多少万日元。日本刚毕业的大学生,大概收入在25万-30万日元之间, 干到30岁大概是30-35万之间,而到45、50岁干到部长一级的话,拿50多万日元是没问题的,再加上夏季和年终的两次共2-5个月的奖金。所以30 岁年收一般是450万日元,40岁年收600万日元,以上是税后收入。低于这个数的是混的不好,高于这个数的是事业有成。

税收及保险等等一般占10-20%,都在工资里扣过了由公司或银行直接缴纳给相关部门。这个夏季奖和年终奖很重要,临时工没有,只有正式职工有,在 一个公司干的越长越高,买房买车等基本都靠它。临时工工资一般是700-1000日元/小时,一天工作八小时每月26天工作166400日元/月。

日元/人民币汇率变动较大,但一般可按1万日元为700人民币计算。还有个最粗略的计算方法就是100 美元=1000元=10000日元。

日本现在到处都有百元店,日常用品成千上万种什么都是100日元,也就是人民币7块,大部分东西都是Made in China。在中国要卖10多元的东西如卷尺,工具等等在那里也是100日元。超级市场里的蔬菜水果等也都是一个或一把100日元。10个鸡蛋10日元 10斤大米一千日元的特例除外,100日元的购买力和1-7元人民币的购买力基本相等,也就是说在中国1-7元可以买到的东西在日本都可以用100日元买 到。

月购买力即中国月工资/物价=1500元/7元=214件,日本30岁工人的月工资/物价=300000日元/100日元=3000件,日购买力中 国 214件/30天=7件/天,日本3000件/30天=100件/天。反过来理解物价/工资比就是中国物价一天工资能买7件,日本一天工资可以买100 件。

除了新鲜蔬菜外购物都是全家开车去,水果,啤酒,零食等等都是各样一箱,到百元店也是一大筐才几千日元。东西太便宜了我们搬一次家就得给出扔掉几箱 东西。从前辈留学生或日本友人那里我们经常得到物资捐助,毕业工作后我们经常给出东西,包括彩电冰箱空调电子琴汽车计算机等等。其他国家也基本这样,刚去 是别人给你东西,几年后你给别人东西。我爱好旅游,去过许多国家,不论是东南亚印度还是欧美澳,客观的比较物价/工资,中国的物价/工资比是世界最贵的。 你只需算一个月工资能买多少东西就足够了。大家的工资涨上10倍,物价降一半的生活就是先进国家目前的生活。

撇开物价,就食品质量和食品安全来讲,日本也是很让人放心的。大部分地方的水都是直饮水,打开龙头就喝,我呆了几天都是喝得这个水,没有人肚子痛。

2.教育

我孩子在日本出生长大,我在那里博士毕业,所以对小孩出生到博士毕业的整个过程的所有花费有切身经历。

怀上小孩go-vern-ment就开始发给营养费,每天给你家送牛奶。出生时直接到市go-vern-ment领取30万日元交医院费再买所有婴 儿用品后还剩几万。幼儿园1个月就可以送去,go-vern-ment的公办幼儿园费用大约是1-3万日元/月,私立幼儿园费用大约是公办的2倍以上。幼 儿园是社会福利的一部分,收入少的可以申请少交或不交。

小学到初中学费为零,花费就是每天中午的午餐费约3000日元/月,一年给学校的所有交费就是3万日元左右,相当于3天工资。一次从一个城市搬家到 另一个城市,因为教科书不一样,那个学年的所有课本又领了一套。高中开始不是义务教育,学费大概是10多万日元,一年花费20万打住了就是不到1个月工 资。

私立大学学费约100万日元/年,国立大学学费约50万日元/年,有各种奖学金助学贷款等等。从幼儿园到大学几乎都可以申请费用减免,我作为留学生 给孩子和我自己上学都是申请的半费减免。 (想想我们国家的义务教育与人民教育以及所谓party的教育事业,我们发现中国真的在这方面是不行,很不行!!!)

3.住房

日本的住房很贵,不过除了东京特别贵以外其他城市都还可以是东京房价的1/2以下。普通3口之家住旧房3-5万日元/月,我在中等城市住两层别墅前 有花园后有菜园月租7万日元。普通工人按揭买房子月交3-5万日元计20年的很多,也就是住了干了几十年房子就是自己的了。普通30岁的白领30万/月或 450万/年的十年工资能买套房,不过因为按揭消费有税控除的优惠,大部分都按揭。税控除就是你的所有买房,买车,看病等等的花费都控除后只有剩下的收入 缴税。

顺便谈一下车子。一般大学生大学一年级暑假学完车就买辆旧车,5-10万日元。我的Honda车是同学给的零元,他考上研究生家里120多万日元给 买了辆新Corolla,大学生刚毕业工作买的车一般都是这个档次(Corolla, Vios)和价位(80-150万日元)。也就是说大学生打工一个月可以买辆旧车,工作了借家长的奖金(2-5个月工资)可以买辆新车。我的Honda在 第11年卖给回收厂,负5000元。开了8年的日产蓝鸟卖了2万日元。

有车还得说油,2006年4月中国汽油4.6元/升,美国汽油4.8元/升,澳洲汽油3.1元/升,日本汽油6.3元/升,印度汽油2.7元/升,油价每天变化不太精确但是误差不会超出正负1元。在国外一天工资可以买100多升汽油,在中国一天工资可以买10升汽油。

4.医疗

日本医疗的最大特点就是所有人都加入国民健康保险。国民健康保险分3等级,分别是老板级,普通级和家属级,自己开公司或收入特别高的属老板级,绝大多数人都是普通级,没工作的家属和儿童从家长的工资里缴,从成年起必须独立缴纳。

一个月约几千-几万日元主要按收入多少缴纳,直接从工资走我从来没有操心过忘了具体数也许是5%左右。看病都得带国民健康保险证,医疗费个人交10-20%,保险里出80-90%,太高了比如超过工资的几倍了还可以申请减免。

国家和国家之间的差别比你我想象的要大的多,达到小康水平还需要我们认真刻苦不懈的努力,二战后人家埋头苦干了几十年,我们斗了几十年。我带中国中 学生十几人到日本转了两星期,回来后我说你们要好好学习努力缩短50年差距的重任就落在你们肩上了,学生说是100年的差距他们的任务太艰巨了,那天晚上 我心里流泪了。然后,我回国了。

(我们该好好的了解一下人家,对比一下我们的差距,好好的努力,而不是每天的歌功颂德或者瞎搞!)

5.交通

在东京,在大阪,我都特别留意他们交通问题。事实上,他们的道路不宽,湘北开着车带我们兜风东京的时候,到了一些高楼林立的高密度商业区,他们的马 路都是两车道、四车道的,很少看到六车道,六车道以上的就更少了。但是却一点儿也不堵车,街上人很少,车也不多。因为日本发达的让人恐怖的有轨线路,堵车 的问题很好的解决了。

还有1点是我们社会缺少的信用,日本的社会风气是不讲信用的人,很难在社会上生存。在我们的社会信用是分文不值的,即使受过良好的教育的人也是将钱看的比信用重。

过去20多年特别是最近10多年中,中国经济建设突飞猛进,日本却陷于停滞甚至负增长的泥潭。面对中国蒸蒸日上,日本似乎走下坡路的趋势,某些人的 头脑中逐渐形成一个”幻觉”:中国即将超越日本。在日本,有人炮制有人相信所谓的”中国威胁论”;在中国,一些热血青年,亦正日益表现得对日本满不在乎。

在我的经济学同行中,甚至也出现了高看中国轻看日本的倾向。有段时间,北京盛传着一个笑话,说将来全球只要有三个经济学家就够了,一个懂美国经济,一个懂欧洲经济,还有一个懂中国经济的。至于日本,回答是轻蔑的一笑:日本,哈哈,日本可以不用管它了!

这实在是无稽之谈!

中国正在快速崛起。这是事实。但只是部分事实。从诸多指标看,中日两国的差距依然十分悬殊,在许多方面中国要赶上日本,不仅非常遥远而且困难重重。中日两国的差距,中国真正的状况值得国人警省,而不能再陷于自欺欺人的幻觉之中不可自拨。

让我们先来看基本数据。中国的国土面积是960万平方公里,人口13亿。日本的国土面积是37.8万平方公里,人口1.3亿。中国国土面积是日本的25倍,人口是日本的10倍。从版图和人口数量而言,中国的确是大中国,日本的确是小日本。

但是,两国的经济总量却掉了个个。2003年,按世界银行2004年《全球发展指标》统计,中国的GDP116898亿人民币,合美元1.4万亿美 元,屈居全球第七位。日本的GDP却高达4.3万亿汇率折算的经济总量比较中难免有误差的成分。然而,改以购买力平价或真实比价计算,大多数的统计结果表 明,中日之间经济总量仍相差1-2倍。

中国近年来崛起的步伐不算慢。然而,在战后的第一个4/1世纪,日本即轻松成为全球第二号发达国家。而中国,尽管经历了过去20多年有史以来最快的增长,GDP总量仍在全球排第六、第七的位置,并且以诸多指标衡量,根本不可能进入发达国家行列。

日本的经济实力既表现在国内,也表现在海外。中国近年来以引进外资多多为傲,然而日本却是全世界最大的债权国。2000年底,日本的海外总资产达到 3.2 万亿美元,相当于2003年中国全部GDP的2.3倍,其制造业在海外的销售总额为1.3万多亿美元,与中国的GDP相当(唐淳风,2001)。如此强大 的一个隐形的”海外日本”,足令开放了20年如今才雄心百倍,喊着口号,迈着步伐要”走出去”的中国企业汗颜!

经济结构比较:1999年,日本的三次产业结构比例是2:36:62,早已是明显的”后工业社会”。1975年,日本第三产业的就业人员比率首次超 过 50%,标志着日本早在70 年代就逐步进入了服务业为中心的”后工业化”时代。相比之下,2003年,中国的三次产业结构是14.7:53:32.3,中国甚至没有完成前工业化社会 向工业化社会的过渡。

按国家统计局的工业化定义,一个国家工业化全部实现的标志:一是农业产值在15%以下,这条线中国可以说刚刚跨过;二是农业就业在20%以下,中国目前仍高达50%,可以说还远远不够线;三是城镇人口比重须在60%以上,中国目前大概只有40%,亦有很远的距离。

日本的城市化水平是多少呢?1950年日本的城市人口占总人口的比例为38%,大概与今天的中国相当,而今天的日本人大部分都居住在城市。

2003年,中国重工业增长超过轻工业4个百分点,重工业的投资开始进入旺盛期。举国上下为中国经济进入”重化工业”阶段欢欣鼓舞不已。然而,中国 人很少知道,早在1955年日本就进入到了重化工业的高度加工阶段,并向资金、技术密集型经济过渡。仅从工业结构上看,中国大约只相当于日本40年前的水 平。

中国目前的增长动力主要是来自于”世界工厂”的牵引。据笔者的测算,2003年中国工业增长对GDP的贡献高达63%。然而,从制造业总量 看,2003年日本是9111亿美元,中国为3825亿美元。日本是中国的2.4倍。显然,中国远称不上”世界工厂”,日本却是名符其实的国际制造业中 心。 (我们太高估自己了!!!)

按过去的赶超速度,在”世界工厂”的道路上,中国要赶上日本至少还有几十年的路要走,而且接下来会越走越艰难,能源问题、环保问题、劳工问题、市场问题都会困扰中国。

日本的人均资源也很贫乏,但日本人懂得通过优秀的加工而扬长避短。1955年至1975年是日本增长最快的时期,日本制造业产值占工业比重从 81.4%上升到96.0%,而矿业从10.1%下降到0.62%,电力、煤气、供水等基础产业从7.74%下降到3.38%。中国也是人均资源不丰富的 国家,但中国经济的增长在很大程度上仍是靠廉价出卖资源。以2000年为证,中国资源型产业占全部工业的比重高达54.5%,其中,以农产品为原料的工业 占轻工业的 62.0%,采掘和原料工业占重工业的50.5%。

中国现在开始重视经济增长的质量,在这方面,日本比中国先进得多。以单位能源每千克油当量的使用所产生的国内生产总值计,中国大约是0.7美元,不 仅低于发达国家,也低于印度等许多发展中国家,而日本同样能源使用所产生的国内生产总值却高达 10.5美元,为全球之冠,约相当于中国的15倍。

同样的资源和能源,日本人竟创造出比中国高出15倍的产值来?中国人又喜欢高谈”老子”,讲”天人合一”,可是中国人对大自然的珍惜何尝比得上日本?!

中国正进入新一轮黄金增长时期。然而,2004年经济增长甫一发力,GDP总量刚刚占到世界的4%,石油消费已跃居世界第二,发电量消耗占全球消耗 的 13%,此外还有钢材消耗占全球的27%,水泥消耗占全球的40%,煤炭消耗占全球的31%。因此,惹得全世界的人都担心中国长期增长会否导致全球资源不 足,”中国会不会饿死全世界”?

事实上,中国应该谦虚地向日本学习,并且要象日本那样去倍加珍惜资源,高效地利用资源。中国眼下正进入一个苦心制订种种”能源战略”和”资源战略” 的热潮,其实,大道至简,中国应该象日本那样,眼光向内、锐意挖潜,如此中国的能源和资源就可以在目前基本保持不变的水平上支撑中国经济翻上好几番。

中国劳工多,是中国在全球分工中的一大优势,可是中国却不能高效地利用其劳力,从而大大抵消了这方面的优势。因此,同样是高速增长时期,1960年 至 1975年间,日本劳动生产率年均增长11,07%;1980年至2000年间,中国的劳动生产率年均增长只有5.19%,按美元计年均增长2.59%。 劳动生产率指标的对比充分表明,中国的高速增长靠的是人海战术,日本靠的却是劳动效率的提高。

除了靠人海战术,中国的增长还靠大量投资,可是投资质量又如何呢?都说日本坏帐严重,可是在从高速增长走向经济衰退的过程中,日本银行的坏帐率仅 5%,而中国在 2000年四大商业银行的不良贷款率已经高达28.78%,如将四大国有资产管理公司收购的1.4万亿元不良资产计算在内,则不良贷款率近45%。显然, 同日本相比,中国的投资效率与效益要猛回头。

R&D(研究和开发)经费支出占GDP比重,是一组国际通用的用于衡量一个国家科技活动规模及科技投入强度的重要指标,并在一定程度上反映 国家经济增长的潜力和可持续发展能力。2000年,中国在这一指标上的支出为896亿元人民币,占GDP的比重历史上第一次达到1个百分点。而同一指标, 日本 2000年是3.12,不仅远高于中国,也高于美国的2.65、以及德国的2.37、法国的2.17、英国的1.87,在全球又是雄居榜首。

事实上,1990以来日本R&D经费支出占GDP的比重一直是世界第一。这意味着什么?这意味着这个国家在科技兴国方面具有坚韧不拨的决 心,也无意中泄露出这个国家富强的秘密所在,那就是科技为本、科技领先。这一指标当然还显示出”小日本”并非一些中国人所想像的是一个目光短浅的民族,恰 恰相反,日本民族是一个富于远见卓识的民族—-只有富于远见卓识的民族,才舍得哪些花大本钱为自己的未来投资。 (记住远见卓识这两个词,重要!!!)

相比之下,中国无论是企业,还是国家,乃至一般的国民,都显得是那样的急功近利和让人失望。中国人更喜欢喊喊”科技兴国”的口号,或者在网上大骂日本人过过嘴瘾,却不愿意花时间去补习科学知识。(很惭愧!!!)

专利发明方面:1995年,中国申请专利数只全世界的1.45%,批准量占全世界的0.48%,日本申请专利数占全世界的13.48%,批准数占全 世界的 15.3%。韩国产业银行日前发表的调查结果显示,若以韩国为基准(100)予以换算,则中国为76.5、日本为110.5。

中国人还必须时时记住的一个数字就是:日本人中获诺贝尔奖的人数已达到12人,中国仍是0。一位伟人说得好:”中国应当对人类作出更大的贡献”可是,做比说要难得多!

在企业层面,中国企业技术创新体系的建设尚处于起步阶段,大中型工业企业研发经费支出占销售收入比例通常不到1%,而日本企业早已建立起完善的科技创新体系,企业的研发费用一般水平都在5-10%以上。

中国企业中研究型人才微乎其微,并不断向外企流失。而每万名劳动人口中,日本的研究人员数又是全球之最。2000年为109.3人,高于美国的73.8人、法国的60.3人、德国的59.6人以及英国的54.8人。

中国以进入世界500强为企业发展之可望不可即的目标。而日本1994年的时候,在世界500强中的企业家数与美国平分秋色、并抱揽全部第1、2、 3、4 名,前十名当中,一大半都是日本企业。上个世纪90年代以来,全球唱衰日本,可是2003年,日本企业在世界500强中仍高居88席之多。而中国只有12 席,而且多是垄断型国有企业,最排前的是中石油,名列第69名。

你敢想像中国什么时候能够成为世界500强中家数最多的国家吗?你敢想像中国企业占据世界500强头席,并且包揽前四名的盛景呢?这样的日子也许有 一天会到来。可是,我们的邻居,早在上个世纪90年代就做到了。任何一个诚实的中国人,一个立志全球的中国企业家,是否应对此表示一分敬意?!

经济再好,不能改善百姓的生活是白搭。我们再来比较一下百姓的生活水平。2003年,中国人均收入首次超过1000美元,接近1080美元;日本是33077美元,为中国的31倍。仅以人均GDP作为收入计,中国只相当于日本1966年的水平。

居民消费的恩格尔系数(即居民家庭食品消费支出占家庭消费总支出的比重)是反映生活水准的指标。2002年,日本的恩格尔系数是22.3%,而中国 目前城市为37.1%,农村为45.6%。也就是说,中国人目前生活支出主要是忙乎吃,日本却将主要支出花在食物之外的其他方面,中国是生存消费,日本是 发展消费。

然而,最可悲的莫过于,生活水平仅相当于日本”60年代”、消费支出只够吃喝的中国人往往在感觉中自己很富,并且经常会表现得大手大脚(如有人主张大.大办奥运会),而生活水平位居全球最高之列的日本人却经常在国际上哭穷,并且处处厉行节约,常常”小气”得惊人!

谁比谁傻?谁是真傻? (这是一种深刻的反思!!!我们中国人真的应该好好想想,好好反思!!!)

住房:2003年中国城镇居民人均居住面积为18平方米,日本是25平方米。国土面积极为狭小的日本是中国的1.4倍。

百姓生活不仅看人均收入,还要看收入差距。2000年,中国的基尼系数为0.414,已达到国际警戒线水平,中国被公认为全世界收入分配最不公平的 国家之一。相反,又是很多人想不到的,日本虽然是资本主义国家,却是全世界上收入分配最公平的国家之一,基尼系数0.285,可以堪比中国历史上任何最公 平的时期。

失业率指年6月底,全国城镇登记失业率为4.2%,失业人数为795万人,分别比去年底上升0.2%和25万人。但这个数据遗漏太多,学者们估计,目前中国城镇失业率,包括登记失业、下岗职工和其他类型的失业,总计大约在8%至 10%(王梦奎,2003)。

中国的媒体经常报道日本这些年经济困难、失业率很高,似乎日本人都快活不下去了。其实,日本失业率最高时也不过5.5%。2003年,随着经济回升,平均失业率很快回落至5.3%。

教育:中国人一向自认为最重视教育,并且一再强调”再苦不能苦孩子,再穷不能穷教育”。中国的父母也的确是对孩子不惜一切,可是,由于国家教育经费 的缺乏,由于普通教育制度的缺陷,今天的中国人中,成人识字率才81.5%,文盲半文盲人数约占人口的15%以上,离教育现代化的起限相差8.5%;大学 毛入学率为5%,离教育现代化起限30%相差25%。

相比之下,日本才不愧重视教育的美名。日本早已达到了100%的小学教育和100%的初中教育;大学毛入学率为40.3%,受过大学教育的人数占总人口的比例高达48%;成人识字率近100%。

中日两国的教育相差多远呢?据估计,中国的初级教育大约相当于日本1900年的水平,落后100年;中等教育大约相当于日本1910年的水平,落后90年;高等教育大约相当于日本1920年的水平,落后80年。

其中的一个重要原因,就是中国的教育经费只相当于日本1920年左右的水平。

再来看与百姓智力开密切相关的信息化指标:2003年底,中国网民数已接近8000万,一个庞大的”E国”诞生,但全中国上网普及率却很低,才6.2%。(关键还要看上网做什么!)

日本的人口比中国少得多,但同一时期上网人数达到7730万人,普及率突破60%,几乎所有14- 75岁的日本人都可以上网。

此外,日本的网络更加发达,宽带通信费用低速度快,宽带上网费占每个家庭收入的比例才0.8%,被评为世界第一。而中国的网络速度慢,服务差,宽带网使用处于起步阶段,走在全国前列的深圳的住宅宽带普及才超过30%,全国一般地方水平则相当低。

中国的个人电脑普及率为27%,移动电话普及率为30%;日本个人电脑普及率为36%,移动电话普及率69%。两者的差距亦是明显的。

也许有人说了,日本不过是强在经济和科技,强在物质而已,日本文明却没有什么可夸的。文明的题目是一个大题目,笔者不敢在这里进行比较,但可以通过一些中国人非常关心的社会性指标,来管中窥豹。

众所周知,从社会信用和国民素质看,日本人普遍被认为工作认真、讲求效率,守时、重信用、讲礼节;日本的企业亦以讲究信用、产品质量精良着称于世; 在日本的大街小巷,你看不到垃圾,无论是走到拥挤的地铁,还是人头攒动的商场,地面都光洁如新,地铁的墙壁上也看不到乱写乱画的现象;日本人很少在公共场 所抽烟和吃零食,更没有随地吐痰、随手扔垃圾的习惯;日本人遵守交通规则,无论是繁华的东京、大阪,还是古老的京都,大街上看不到一个JJ,汽车、人流严 格按红绿灯指示行动,一丝不苟。

反观”文明古国”的我国,情况如何呢?

如果说,那是因为中国人的物质文明还不够,”仓禀实而知礼节”。中国人大概是世界上最强调”客观原因”的民族了。可是,我来问你,中国人如今的收入 水平相当于1960年的日本,文明礼貌却远不及,也比不上人均收入水平相差好几倍的上个世纪50年代的时候,更没有盛唐时期的风雅儒爱,真的是”仓禀实而 知礼节”吗?

企业信用:前面已提到中国各商业银行的呆坏帐记录举世无双,这说明中国企业的信用记录是很差的。除此之外,企业拖欠亦是世上少有。据统计,2001年,我国国有企业相互拖欠货款已经超过1.6万亿元,造假经济的规模高达1270多亿元,国家为此每年损失税收250多亿元。

另据有关部门调查,2001年全国有283家名优企业的650多种产品被假冒产品侵权伪造,上半年全国工商管理系统共查处各类合同欺诈等违法犯罪案 件 5338起,比前年同期上升61%(候云春,2002)。这又说明什么,说明中国的企业坑蒙拐骗正在严重侵蚀这个国家的市场经济。

近年来,又添一个新的现象,就是企业拖欠民工工资愈演愈炽。据全国总工会公布,目前中国民工被拖欠的工资估计有1000亿元左右,其中建筑业占 70%以上。有些地方,包工头欠民工的钱,建筑商欠包工头的钱,追到最后,发现竟然是地方go-vern-ment欠建筑商的钱。据国家统计局统计,全国 各地 go-vern-ment拖欠工程款占全部拖欠工程款的四分之一以上。

信用正在让中国年轻的市场经济付出代价。而中国的学者现在终于开始明白,信用问题的解决,光靠外部的法律监管、内部的企业治理结构都是不够的,还要 靠人们心中的文化,乃至信仰。可是,中国的传统文化资源被破坏得差不多了,要构建文化资源,中国人不知从何入手。而日本却是利用传统文化资源来完成现代化 转型的成功案例,日本人居然将武士对于主人的忠诚转变成了企业员工对于企业的忠诚,进而建立起全社会的工商信用。

离婚率:中国人无论想不到,2001年,”后现代化社会”的日本离婚率才0.23%,是亚洲各国中最低的。而传 统上一向注重家庭的中国社会却每况愈下:1980年,中国的离婚率为 4.75%到1997年上升到13%,上升了8.25个百分点。其中,上海在过去20年中,离婚率增加了20倍,令全球侧目:中国人怎么啦?

家庭是社会的细胞,婚姻包含两性之间神圣的关系。日益缺乏稳定的中国家庭生活,会给中国人带来什么?是更加不负责任,更加追求私欲还是更多的心灵自由、更多的个性解放?

腐败:你可以不喜欢日本,但你必须承认一个事实,日本还是世界上较为廉洁的国家之一。今年3月25日,着名的反 腐败国际性非go-vern-ment组织 “透明国际”发布了《2004年全球反腐败年度报告》,对世界各地区腐败形势进行了评估。在133个国家和地区中,中国的清廉指数得分为3.4分,与斯里 兰卡和叙利亚并列第66位,日本却处于最清廉的前30个国家之列。

中国现在正从追求GDP转向”科学发展观”。可是,中国已经付出了过多的代价。截止到2000年底,中国森林面积只剩下15.8亿公顷,森林覆盖率 才 16.55%,仅相当于世界森林覆盖率的61.3%,全国人均森林面积0.128公顷,只相当于世界人均0.6公顷的21.3%。而日本的国内森林覆盖率 近64%,是世界上森林覆盖率最高的国家之一。

那布满绿树、风光秀丽、诗意盎然、滋养了李白和杜甫的古国,如今已沦为中国人的了然残梦!日益被工业污染的大地、荒漠化占1/3以上的奄奄一息的国 土,断流的黄河,黄河化的长江,以及春天刮过北京的漫漫沙尘,就像是中华大地母亲的叹息,又像是天地间最严厉的一声声警告。中国,已经禁不住折腾,已经不 堪重负了。

与大地一同干涸的还有中国人的心灵。比荒漠更加荒漠的也是中国人的心灵。

日本人何以在经济起飞的过程中依然让国土保持锦绣,何以不让GDP蒙蔽了头脑,何以比中国人早走了半个世纪的科学发展观之路。中国人,是否应该放下”高贵”的身份,去认真地研究一下,学习一下?

中国的人均寿命是比较高的。2000年统计的男女平均寿命分别为69.63岁和73.33岁。在中国人眼里,日本人是天底不劳动强度最大的国家,工 作压力极大,可是,你想不到的是,日本却是世界最长寿的国家。2003年,日本女性的平均寿命为85.33岁,男性为78.33岁,均创下全球最高纪录。 日本男女平均寿命已连续4年名列世界第一,而女性寿命从1985年以来一直名列第一。显然,中国人虽然强调”以人为本”,但没有日本人活得长寿。

日本是个什么国家呢?在许多人眼里,它似乎是一个野蛮的国家,一个从不知道认错的国家,一个生活压力大、国民不幸福的国家,一个甚至是无法理喻的国 家。可是,从一个个统计数据的比较,我们却发现,日本是个经济先进、百姓富足、社会公平、吏治良好、教育优秀、家庭稳定、环境优美、预期寿命高,富于远 见,并且对世界作出了重大贡献的国家。中国要达到和日本目前的经济发展水平,在许多方面可能还需要几十年的努力,有些方面甚至可能需要上百年的努力。

日本,决非等闲之辈,决非那个”幻觉”中日薄西山的国家,而是一个在许多方面都出类拨萃,值得中国人认真借鉴和学习的国家。而中国,也并非”幻觉” 中已经崛起并即将超过周边这个伟大邻居的国家。中国,只是一个刚刚恢复元气,有着远大前程,同时需要在各方面倍加努力的国家而已。

也许,在一些中国愤青朋友的眼里,从来不耻于与日本人为伍,更别提向日本人学习,日本人,不过是仇人而已。就算是这样罢,但千万请记住一句话:对于你的仇人,最好的报复是”比他活得更好”,而不是不计代价地让对方活得更糟。

而要做到生活得比人家好,光有满腔的热血和喊破了天的口号是不够的,更加需要的是辛勤的汗水、真正的智慧以及扎扎实实的行动。

很希望中央电视台等大众宣传媒体多做些开启民智的事情,让老百姓开阔一下眼界,多些忧患意识,危机意识,多说实话,多反思反思我们的不足,少些冠冕堂皇的话,少些浮躁的心态,少些大国情结.唉,不知道中央电视台领导能看到我的帖子不? 只有我们老百姓们一起共勉把。