网上收集的 关于 电子表格的东西
在编程读取Excel文件数据时,按cell逐个读取的方法比较慢,而且要判断数据类型,比较麻烦,最近工作中遇到这个问题,发现以下两种方法可以快速方便地完成这个工作:1、另存为DBF4格式
其实就是把手工另存为变成了编程完成
lcsavedfile = "d:\test.dbf"
loXls = CREATEOBJECT("excel.application")
lobook = loXls.APPLICATION.Workbooks.OPEN(GETFILE("xls"))
lobook.activesheet.usedrange.columns.AutoFit &&这步不可省略,否则未展开的列数据取不全
lobook.saveas(lcsavedfile,11)
lobook.saved = .t.
lobook.close
SELECT * FROM &lcsavedfile INTO CURSOR tmp
USE IN test
DELETE FILE &lcsavedfile
brow
2、利用数组
ox = CREATEOBJECT("Excel.Application")
ox.workbooks.open(GETFILE("xls"))
lnrow = ox.activesheet.usedrange.rows.count
lncol = ox.activesheet.usedrange.columns.count
DIMENSION laxls(lnrow,lncol)
laxls = ox.activesheet.usedrange.value
ox.quit
DEBUG &&停下到调试器看一下取到的结果
...下面按需要处理数组就可以了
总结:我自己试用中感觉这两种方法比逐个cell读取都要快很多,相对来说另存为dbf4更方便些,另用数组更灵活些,即使有单元格合并而产生的不规则表格也可以通过range()指定读取需要部分的数据。
注意:要注意要读取的Excel文件是否有同一列中有两种不同类型的数据这种情况,比如同一列中第一行数值型,第二行为字符型,这种情况用另存为DBF4会导致第二种数据类型的数据丢失,只能用数组读取并在处理时对该做类型转换
VFP如何制作带复选的菜单
public l_ts
l_ts = .F.
*定义菜单
DEFINE PAD test OF _MSYSMENU PROMPT "测试菜单"
ON PAD test OF _MSYSMENU ACTIVATE POPUP 测试菜单
DEFINE POPUP 测试菜单 MARGIN RELATIVE SHADOW
*定义菜单项
DEFINE BAR 1 OF 测试菜单 PROMPT "测试项目"
ON SELECTION BAR 1 OF 测试菜单 DO test
SET MARK OF BAR 1 OF 测试菜单 TO l_ts
PROCEDURE test
IF l_ts
l_ts = .F.
SET MARK OF BAR 1 OF 测试菜单 TO l_ts
*这里写其他必要的处理代码
ELSE
l_ts = .T.
SET MARK OF BAR 1 OF 测试菜单 TO l_ts
*这里写其他必要的处理代码
ENDIF
eole=CREATEOBJECT("Excel.application") &&创建Excel对象
IF NOT TYPE("eole) = "O"
=MESSAGEBOX("Excel对象创建失败,程序将中止!", 16, "Error")
RETURN
ENDIF
eole.sheetsinnewworkbook=4 &&设置新增工作簿中工作表数
eole.Workbooks.add &&添加新工作簿 **eole.workbooks.add('&mycurdir1.ptjh_hz.xlt') &&添加模板
eole.Worksheets('sheet3').Activate &&设置第3个工作表为激活工作表
*eole.Workbooks.Open('c:\temp\ll.xls')&&打开指定工作簿
oEle.Workbooks.Open("d:\22.xls",.f.,.f., ,"123","456") &&打开有密码的Excel文件,"123"表示打开权限的密码,"456"表示修改权限的密码.第二个参数表示读写方式:.T.只读,.F.读写
**当前工作薄工作表总数:oExcel.WorkSheets.Count &&如:lnSheetCnt=oExcel.WorkSheets.count
** 在指定工作表后新建工作表:oExcel.Sheets.Add(,oExcel.Sheets(lnSheet),1,-4167) &&lnSheet为指定表号
** 在最后工作表后新建工作表:oExcel.Sheets.Add(,lnSheetsCnt,1,-4167) &&lnSheetCnt为工作表总数
** 命名工作表:oExcel.WorkSheets("Sheet3").Name="新表" &&重命名工作表3
**Excel的窗口控制:oExcel.WindowState = -4140 &&最小化=-4140,最大化=-4137,还原=-4143
eole.visible=.t. &&显示Excel窗口
eole.Caption='VFP应用程序调用Microsoft Excel'&&更改Excel标题栏
*eole.cells(1,4).value=XM &&(XM为数据库字段名) &&给单元格赋值
eole.cells(1,2).value="AF" && 给单元格赋值
eole.Range("A2:B2").select
eole.selection.MergeCells = .T. && 合并单元
eole.range("A2 ").value='情况统计表'
eole.range("A2 ").NumberFormatLocal = "@" &&字符型
eole.ActiveSheet.Range("A1:BE29").NumberFormatLocal =;
"_ * #,##0.00_ ; _ * -#,##0.00_ ;_ * "+"-"+"??_ ;_ @_ " && 指定区域内的数字显示格式
eole.selection.HorizontalAlignment=2 && 水平方向 2左对齐,3居中,4右对齐
eole.selection.VerticalAlignment = 2 && 垂直方向 1靠上 ,2居中,3靠下
eole.Range("A5:M5").select
eole.Selection.Interior.ColorIndex = 34 && 设置行颜色为[淡兰]
eole.selection.WrapText = .T. && 自动换行
eole.ActiveSheet.Cells(2,1).Font.Name='黑体' &&设置字体
eole.ActiveSheet.Cells(1,1).Font.Size=25 &&设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Italic=.t. &&设置字体为斜体
eole.ActiveSheet.Columns(1).Font.Bold=.t. &&设置整列字体为粗体
*vfp_excel.ActiveCell.Characters.Font.Underline = 2 &&下划线
vfp_excel.ActiveCell.Characters.Font.ColorIndex = 0 &&字符颜色
vfp_excel.cells(lines+rwi,9).NumberFormatLocal = "0" &&规定小数点位数
ef.Columns("A").Select &&整列选择
ef.Cells.Select &&选择整张表
ef.Selection.Font.Size = 10 &&设置整表默认字体大小为10
eole.ActiveSheet.Columns(A:B).ColumnWidth=30 &&设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035 &&设置指定行的高度为1厘米,1磅=0.035厘米
eole.Selection.Columns.AutoFit && 最适合的列宽
eole.ActiveSheet.Range('b3:d3').Borders(2).Weight=3 &&指定边框线宽度(Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/)
eole.ActiveSheet.Range('b3:d3').Borders(2).LineStyle=1 &&设置四个边框线条的类型 LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)
&&能不能指定在某一位置或区域放置图片并控制图片显示大小呢?
OLEAPP.SHEETS(1).SELECT
oleapp.Range("位置").Select
oleapp.ActiveSheet.Pictures.Insert("图片文件名")).Select
oleapp.Selection.ShapeRange.LockAspectRatio =.T.
oleapp.Selection.ShapeRange.Height = 57
*******问题:类型为字符型的字段输出到excel 中,前面的零被自动去掉,例如"009877"变为"9877",怎么解决?
*1.在字符串前面加半角单引号" ' "
*2.eole.Range("A1:Y1").Select
*eole.Selection.NumberFormatLocal = "@"
******
*!* 获取 Excel 记录数
*!* loXls = CREATEOBJECT("excel.application")
*!* bookExcel = loXls.APPLICATION.Workbooks.OPEN("f:\pz.xls")
*!* nrows=bookExcel.Worksheets('pz')
*!* UsedRange =nrows.UsedRange
*!* r = UsedRange.ROWS.COUNT &&行数
*!* c = UsedRange.COLUMNS.COUNT &&列数
*****页面设置
**预览当前工作表:oExcel.ActiveSheet.PrintPreview
*!* .CenterFooter="第"+"&P"+"页 共"+"&N"+"页" &&页脚中间
** .rightfooter="制表:松涛" &&页脚右边
*!* .PaperSize=9 &&纸张类型: A4(注意:不同打印机与版本可能有不同)
*!* .PrintQuality = 180 &&打印精度
oleapp.sheets.item(1).pagesetup.CenterHorizontally=.t.&&页面水平居中
*oleapp.sheets.item(1).pagesetup.CenterVertically=.t. &&页面垂直居中
eole.ActiveSheet.PageSetup.CenterHeader='报表1' &&设置页眉
eole.ActiveSheet.PageSetup.CenterFooter='第&P页' &&设置页脚
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 &&设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 &&设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035 &&设置顶边距为2厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 &&设置底边距为4厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 &&设置左边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035 &&设置右边距为2厘米
eole.ActiveSheet.PageSetup.CenterHorizontally=.t. &&设置页面水平居中
eole.ActiveSheet.PageSetup.CenterVertically=.t. &&设置页面垂直居中
eole.ActiveSheet.PageSetup.PaperSize=1 &&设置页面纸张大小(1-窄行8?5?11 39-宽行14?11)
eole.ActiveSheet.PageSetup.Orientation=2 && 横向
eole.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" && 定义固定行 顶端标题行
eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C" && 定义固定列
eole.ActiveSheet.PageSetup.CenterHeader= "&14&BTMC" && 设置页眉
eole.ActiveSheet.PageSetup.CenterFooter="表__第&P页" && 设置页脚
eole.ActiveSheet.PageSetup.PrintGridlines=.t. &&打印单元格网线
eole.ActiveSheet.PrintPreview &&打印预览工作表
eole.ActiveSheet.PrintOut &&打印输出工作表
*******5设置打印参数:用Excel做报表,可打印时怎么选择打印机,即.ActiveWindow.SelectedSheets.PrintOut的参数有哪些?
expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
**expression 必选。该表达式返回"应用于"列表中的某个对象。
**From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。
*!* To Variant 类型,可选。打印的终止页号。如果省略该参数,将打印至最后一页。
*!* Copies Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。
*!* Preview Variant 类型,可选。如果为 True 则 Microsoft Excel 打印指定对象之前进行打印预览。如果为 False,或者省略此参数则立即打印该对象。
*!* ActivePrinter Variant 类型,可选。 设置活动打印机的名称。
*!* PrintToFile Variant 类型,可选。如果为 True 则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。
*!* Collate Variant 类型,可选。如果为 True 则逐份打印每份副本。
*!* PrToFileName 可选,Variant 类型。如果将 PrintToFile 设置为 True,则本参数指定要打印到的文件名。
*!* **说明
*!* From 参数和 To 参数所描述的"页"指的是要打印的页,并非指定工作表或工作簿中的全部页。
**打印当前工作簿:oExcel.ActiveWorkBook.PrintOut(1,oExcel.WorkSheets.count,1,.T.)
*默认直接打印整个工作簿:oExcel.ActiveWorkBook.PrintOut()
*参数1-数值:当前工作簿中进行打印的起始工作表号(默认1)
*参数2-数值:当前工作簿中进行打印的结束工作表号(默认最末)
*参数3-数值:打印份数(默认1)
*参数4-是预览打印还是直接打印:.T.-预览打印,.F.-直接打印(默认.F.)
**打印当前工作表:oExcel.ActiveSheet.PrintOut() &&共八个参数
*参数1-数值:起始页号,省略则默认为开始位置
*参数2-数值:终止页号,省略则默认为最后一页
*参数3-数值:打印份数,省略则默认为1份
*参数4-逻辑值:是否预览,省略则默认为直接打印(.F.)
*参数5-字符值:设置活动打印机名称,省略则为默认打印机
*参数6-逻辑值:是否输出到文件,省略则默认为否(.F.),若选.T.且参数8为空,则Excel提示输入要输出的文件名
*参数7-逻辑值:输出类型,省略则默认为(.T.)逐份打印,否则逐页打印
*参数8-字符值:当参数6为.T.时,设置要打印到的文件名
**用VFP控制EXECL的选择打印机的窗口爬
oExcel.application.dialogs(8).show
***********
eole.ActiveWorkbook.SaveAs('c:\temp\22.xls') &&工作表另为
** 换名存为文本文件:oExcel.ActiveWorkBook.Saveas("&lcFileName",-4158)
** 加密码换名存盘:oExcel.ActiveWorkbook.SaveAs(&lcFileName,-4143,[3721],[3721],.F., .F.)
eole.ActiveWorkbook.saved=.t. &&放弃存盘
eole.Workbooks.close &&关闭工作簿
eole.quit &&退出Excel
RELEASE eole &&释放变量 以真正退出 Excel
&&&&&&&&
*****一个示例
将DBF数据文件导成excel文件的问题(急,UP有分)
oExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel对象
IF NOT TYPE("oExcelSheet") = "O"
=MESSAGEBOX("Excel对象创建失败,程序将中止!", 16, "Error")
RETURN
ENDIF
oExcelApp = oExcelSheet.Application
oExcelApp.Workbooks.Add()
oExcelApp.ActiveWindow.WindowState=2
oSheet = oExcelApp.ActiveSheet
nFldCount = AFIELDS(aFldList, "FoxTable")
FOR i = 1 TO nFldCount
oSheet.Cells(1,i).Value = aFldList[i, 1]
ENDFOR
cRecc = STR(RECCOUNT("FoxTable"))
SCAN
WAIT WINDOW ALLTRIM(STR(RECNO())) + "/" + cRecc NOWAIT
FOR i = 1 TO nFldCount
vValue = .NULL.
IF AT(aFldList[i, 2], "CDLMNFIBYT") = 0
LOOP
ENDIF
cFldName = aFldList[i, 1]
vValue = EVALUATE(cFldName)
DO CASE
CASE aFldList[i, 2] = "C" && 字符/字符串
vValue = TRIM(vValue)
CASE aFldList[i, 2] = "D" && 日期
vValue = DTOC(vValue)
CASE aFldList[i, 2] = "T" && 日期时间
vValue = TTOC(vValue)
CASE INLIST(aFldList[i, 2], "N", "F", "I", "B", "Y") && 数值
CASE aFldList[i, 2] = "L" && 逻辑
CASE aFldList[i, 2] = "M" && 备注型
OTHERWISE
vValue = .NULL.
ENDCASE
IF VARTYPE(vValue) = "C" AND EMPTY(vValue)
LOOP
ENDIF
IF NOT ISNULL(vValue)
oSheet.Cells(RECNO("FoxTable")+1, i).Value = vValue
ENDIF
ENDFOR
ENDSCAN
cChrStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR i = 1 TO nFldCount
cColumn = SUBSTR(cChrStr, INT((i-1)/26), 1) + SUBSTR(cChrStr, IIF(MOD(i, 26)= 0, 26, MOD(i, 26)) , 1)
oSheet.Columns(cColumn + ":" + cColumn).ColumnWidth = 12
IF aFldList[i, 2] = "M"
oSheet.Columns(cColumn + ":" + cColumn).WrapText = .F.
ENDIF
ENDFOR
oExcelApp.ActiveWorkbook.SaveAs(cExcelFile)
oExcelApp.ActiveWorkbook.Close(.F.)
oExcelApp.ActiveWorkbook.Close(.F.)
oExcelApp.Quit
oExcelSheet = .NULL.
oExcelApp = .NULL.
WAIT CLEAR
=MESSAGEBOX("转换完毕!", 64, "OK")
CLOSE DATABASES ALL
**********结束
*****在用VFP调用EXCEL时如何获取工作表的数目?
CLEAR
LOCAL lnSheetCount
EOLE=CREATEOBJECT("EXCEL.APPLICATION")&&创建Excel对象
EOLE.WORKBOOKS.OPEN("c:\111\321.xls")&&打开指定工作簿
WITH EOLE
lnSheetCount=.WorkBooks(1).Sheets.Count&&统计工作表数量
ENDWITH
?'当前EXCEL表中工作表的数目为:'+ALLTRIM(STR(lnSheetCount))
FOR EACH oMyVar IN eole.sheets
?'当前EXCEL表中工作表的名称分别为'+oMyVar.name&&显示Excel表中所有工作表
NEXT oMyVar
EOLE.WORKBOOKS.CLOSE&&关闭工作簿
EOLE.QUIT&&退出Excel
**************************************
*VFP+Exce 菜单操作的语句控制-(2)
*
* Excel "编辑" 菜单
*
* 原创:兰竹 2003/07/30
**************************************
*1....复制
*2....剪切
*3....选择性粘贴
*4....粘贴
*5....填充
*6....清除
*7....删除
*8....查找
*9....替换
*10...定位
**************************************
.Selection.Copy &&复制
.Range("A3").Select &&选择复制或剪切区域
.Application.CutCopyMode = .F. &&关闭复制模式
.Selection.Cut &&剪切
.Range("B5").Select &&选择粘贴区域
.ActiveSheet.Paste &&粘贴
Selection.PasteSpecial(-4104,-4142,.F.,.F.)
*选择性粘贴4参数
*第一个参数:指定要粘贴该区域的哪一部分
*-4104(全部), -4123, -4163,-4122, 7
*第二个参数:粘贴的操作
*-4142,2,3,4,5
*第三个参数:若指定为 True,则不粘贴剪贴板中单元格区域的空白单元格。默认值为 False。
*第四个参数:若指定为 True,则粘贴时转置行和列。默认值为 False。
.Selection.FillDown &&向下填充
.Selection.FillRight &&向右填充
.Selection.FillUp &&向上填充
.Selection.FillLeft &&向左填充
.Selection.DataSeries(1,-4132, 1,1, 8, .F.)
* 填充序列
*DataSeries(Rowcol, Type, Date, Step, Stop, Trend)六个参数
*第一个参数: Rowcol:1为行,2为列
*第二个参数: Type: -4132等差,2等比,3日期,4自动
*第三个参数: Date:Type的日期单位,1为天,2为星期,3为月,4为年
*第四个参数: Step: 系列的步长值。默认值为 1
*第五个参数: Stop:系列的终止值。如果省略本参数, Microsoft Excel 将添满该区域。
*第六个参数: Trend:若指定为 True,则创建线性趋势或等比趋势。若指定为 False,则创建标准数据系列。默认值为 False。
.Selection..Range("A1").Justify &&内容重排
.Selection.("Sheet1").Range("A1:G37").Clear &&清除
.Range("B4:C4").Select &&选择删除区域
.Selection.Delete(-4159) &&删除
*两个参数:-4159删除后左移,-4162上移
.Cells.Find("222", -4123).Activate &&查找
*查找字符, 8个参数
*Find(What,LookIn)
*What:要查找的数据
*LooKIn:类型,-4123,-4163,-4144
C=Cells.Find("222", -4123)
.Cells.FindNext(C).Activate &&查找下一个
.ActiveCell.Replace("222", "333") &&替换将222换成333
.Application.Goto("A154",.T.) &&定位
*选定工作表中的单元格"A154",并滚动工作表以显示该单元格。
VFP+Excel菜单操作的语句控制-(3)视图插入
**************************************
*Excel 菜单操作的 VFP语句控制--(3)
*
* Excel "视图、插入" 菜单
*
* 原创:兰竹 2003/07/30
**************************************
*1....分页预览
*2....工具栏
*3....显示比例
*4....批注
*5....全屏显示
*6....插入行
*7....插入列
*8....插入工作表
*9....插入图表
*10...插入函数
*11...插入名称
*12...插入图片
*13...插入超级链接
*14...插入对象
**************************************
.ActiveWindow.View = 2 &&分页预览 2个参数1,2
**打开工具栏
.("Visual Basic").Visible = .T. &&打开"VB工具栏",以下打开相应工具栏
.("Web").Visible = .T.
.("Forms").Visible = .T.
.("Drawing").Visible = .T.
.("Clipboard").Visible = .T.
.("Control Toolbox").Visible = .T.
.("Reviewing").Visible = .T.
.("PivotTable").Visible = .T.
.ActiveWindow.Zoom = 200 &&显示比例
.Application.DisplayCommentIndicator = 1 &&打开批注
.Application.DisplayFullScreen =.T. &&全屏显示
*********插入菜单**********
.Selection.EntireRow.Insert &&插入行
.Selection.EntireColumn.Insert &&插入列
.Sheets.Add &&插入工作表
.Charts.Add &&插入图表
.ActiveChart.ChartType = 51 &&图表类型
*柱形图 簇状柱形图 51
*三维簇状柱形图 54
*堆积柱形图 52
*三维堆积柱形图 55
*百分比堆积柱形图 53
*三维百分比堆积柱形图 56
*三维柱形图 -4100
*条形图 簇状条形图 57
*三维簇状条形图 60
*堆积条形图 58
*三维堆积条形图 61
*百分比堆积条形图 59
*三维百分比堆积条形图 62
*折线图 折线图 4
*数据点折线图 65
*堆积折线图 63
*堆积数据点折线图 66
*百分比堆积折线图 64
*百分比堆积数据点折线图 67
*三维折线图 -4101
*饼图 饼图 5
*分离型饼图 69
*三维饼图 -4102
*三维分离型饼图 70
*复合饼图 68
*复合柱饼图 71
*XY (散点图) 散点图 -4169
*平滑线散点图 72
*无数据点平滑线散点图 73
*折线散点图 74
*无数据点折线散点图 75
*气泡图 气泡图 15
*三维气泡图 87
*面积图 面积图 1
*三维面积图 -4098
*堆积面积图 76
*三维堆积面积图 78
*百分比堆积面积图 77
*三维百分比堆积面积图 79
*圆环图 圆环图 -4120
*分离型圆环图 80
*雷达图 雷达图 -4151
*数据点雷达图 81
*填充雷达图 82
*曲面图 三维曲面图 83
*曲面图(俯视图) 85
*三维曲面图(框架图) 84
*曲面图(俯视框架图) 86
*股价图 盘高-盘低-收盘图 88
*成交量-盘高-盘低-收盘图 90
*开盘-盘高-盘低-收盘图 89
*成交量-开盘-盘高-盘低-收盘图 91
*圆柱图 簇状柱形圆柱图 92
*簇状条形圆柱图 95
*堆积柱形圆柱图 93
*堆积条形圆柱图 96
*百分比堆积柱形圆柱图 94
*百分比堆积条形圆柱图 97
*三维柱形圆柱图 98
*圆锥图 簇状柱形圆锥图 99
*簇状条形圆锥图 102
*堆积柱形圆锥图 100
*堆积条形圆锥图 103
*百分比堆积柱形圆锥图 101
*百分比堆积条形圆锥图 104
*三维柱形圆锥图 105
*棱锥图 簇状柱形棱锥图 106
*簇状条形棱锥图 109
*堆积柱形棱锥图 107
*堆积条形棱锥图 110
*百分比堆积柱形棱锥图 108
*百分比堆积条形棱锥图 111
*三维柱形棱锥图 112
.ActiveChart.SetSourceData(.Sheets(1).Range("A1:D5")),2)
&& 指定图表设置源数据区域
* 第一参数为:包含源数据的区域;
* 第二参数:指定数据绘制方式 (1是行,2是列)
.ActiveChart.Location(2,"Sheet5")
&&移动图表的位置,可选
With .ActiveChart &&活动图表
.HasTitle =.F. &&如果坐标轴或图表有可见标题则为 True
.Axes(1).HasTitle = .T. &&对象代表的坐标轴标题,单个坐标轴
.Axes(3).HasTitle = .T.
.Axes(2).HasTitle = .T. &&是否有单个坐标题
.ChartTitle.Characters.Text = "顶标题"
.Axes(1).AxisTitle.Characters.Text = "下标题"
.Axes(2).AxisTitle.Characters.Text = "左标题"
EndWith
.ActiveCell.FormulaR1C1 = "=SUM(R[5]C:R[7]C[2])" &&插入求和函数
.ActiveWorkbook.Names.Add("表五", "=Sheet5!R14C4") &&插入名称->定义
.Range("j20").Select &&在j20处插入图片
bmplj="c:\pic\"
bmplj1=bmplj+"rh3.bmp"
.ActiveSheet.Pictures.Insert(bmplj1).Select
.("Picture").Visible =.f.
.ActiveSheet.Hyperlinks.Add("http://meizibbs.)
&&插入超级链接
.ActiveSheet.OLEObjects.Add("PBrush",.F., .F.).Activate &&插入对象
*********不常用命令
*************
eole.ActiveWorkBooks.Sheets(1).Delete &&把工作簿中的BOOK(1) 删除
eole.Selection.AutoFilter &&关闭(如果无则打开)自动筛选
eole.Worksheets('Sheet1').Rows(18).PageBreak=1 &&在第18行之前插入分页符
eole.ActiveSheet.Columns(4).PageBreak=0 &&在第4列之前删除分页符
eole.ActiveSheet.UsedRange.Copy &&拷贝整个工作表
eole.ActiveSheet.Range('A1:E2').Copy &&拷贝指定区域
*eole.WorkSheet('Sheet2').Range('A1').PasteSpecial &&粘贴
eole.ActiveSheet.Rows(2).Insert &&在第2行之前插入一行
eole.ActiveSheet.Columns(2).Insert &&在第2列之前插入一列
eole.ActiveSheet.Columns("A:B").Delete && 删除列
eole.ActiveSheet.Cells(1,4).ClearContents &&清除单元格公式
*!* ----------------------------------------------
*!* 问:在VFP中可以执行EXCEL的选择性粘贴吗?
*!* .Range("A2").PasteSpecial ("xlPasteValues") && 会出错
*!* .Range("A2").PasteSpecial (3) && 也会出错
*!* .Range("A2").PasteSpecial && 只好这样了
*!* 如何才能只粘贴值呢?
*!* =====================================================
*!* 答:
*!* xlPasteValues=-4163
*!* oExcel.Range("A1").Select
*!* oExcel.Selection.copy
*!* oExcel.Range("B1")._PasteSpecial(xlPasteValues)
*!* 注意:在Excel 中,"xlPasteValues"是一个常量,它的值是一个数值型的:-4163
*!* 10如何将excel导入vf中,用程序!
*!* 使用import命令,如:
*!* IMPORT FROM 表1.xls TYPE xl8
*!* IMPORT FROM 你的表.xls TYPE XL8 SHEET "Sheet2"
**若判断EXCEL或某个XLS文件是否已经打开(避免不可预知的错误发生):
LOCAL lOldSetOpt,mChanNum
lOldSetOpt = DDESetOption("SAFETY")
= DDESetOption("SAFETY",.F.)
mChanNum = DDEInitiate('Excel','SYSTEM') &&EXCEL是否已经打开
**mChanNum = DDEInitiate('Excel','&lcFileName') &&lcFileName某XLS文件名,如:D:\123.XLS
IF mChanNum <> -1
= messagebox('程序 EXCEL 已经打开,请先将其关闭!',64,'系统提示!')
** = messagebox('文件 '+lcFileName+' 已经打开,请先将其关闭!',64,'系统提示!')
= DDETerminate(mChanNum)
= DDESetOption("SAFETY",lOldSetOpt)
RETURN
ENDIF
**从包含大量内含公式的EXCEL文件导至DBF中时,直接转换会出现致命错误,这时可选择将EXCEL另存为文本文件再导至DBF中可保数据不丢失:
oExcel.WorkBooks.Open('D:\123.xls')
oExcel.ActiveWorkBook.Saveas('D:\123.txt',-4158 ) &&注意参数-4158不能错
**其它:建立Office对象,然后将要完成的操作操作一遍并录制成宏,将录制成的vba代码稍微修改一下就OK了。
教程】网上找到的一些电脑应用小窍门,与大家共享
1.定期删除“预读取文件夹(c:\windows\prefetch)”里的预读取文件,能有效地加快WinXP的启动时间。
2.我们可以通过注册表来设置当某个窗口达到一定数量,再激活该功能,打开注册表编辑器,依次找到HKEY_CURRENT_Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced子键,新建双字节键值项TaskbarGroupSize,并为其赋值,一般设置窗口的数量在五六个比较好。
3.检测Windows XP是否被激活
激活是Windows XP拥有的一项保护版权的措施,很多用户对此也是非常好奇,那么如何知道你的Windows XP是否已经被激活了呢?打开“运行”对话框,输入“oobe/msoobe /a”(注意/a前有一个空格),按下回车键,一会儿就会弹出一个有关于激活的窗口,你可以仔细了解其中的奥秘,完全明白以后单击“确定”按钮即可关闭该窗口。
4.快速复制移动文件 Windows XP的“资源管理器”工具栏比以往的Windows系统多了两个按钮——“复制到”和“移至”按钮,它们的功能是快速将选中的文件复制移动到指定文件夹。其实我们可以把这两项命令搬到鼠标右键菜单中。 在“开始→运行”对话框中输入“Regedit”打开注册表,依次展开主键[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers ],右键单击此主键,选择菜单“新建→项”,然后输入名称,名称可自定义,如“复制到”,再左键单击“复制到”主键,双击右窗口的“默认”,在弹出的“编辑字符串”对话框中输入“{C2FBB630-2971-11d1-A18C-00C04FD75D13}”。相同的方法新建项“移至”,“移至”主键的“默认”键值赋值为“{C2FBB631-2971-11d1-A18C-00C04FD75D13}”即可。
5.明明白白查看系统信息 打开“命令提示符”,或者在“运行”对话框中输入“cmd”,在“命令提示符”状态下输入“systeminfo”,按下回车键,系统即开始检测相关信息并返回到当前窗口中,你可以看到的Windows XP是否安装了补丁、初始安装时间、虚拟内存的设置等详细信息。
6.WinXP随时可使用〔记事本〕打开文件
当在〔资源管理器〕浏览文件时很多时需要用〔记事本〕来打开文件,如按下修改可随时右键点击鼠标,便出现〔使用记事本打开〕的选择
在〔开始〕→〔运行〕→输入〔regedit〕
选〔HKEY_LOCAL_MACHINE〕→〔SOFTWARE〕→〔Classes〕→〔*〕
在此新建一个〔主键〕名为〔shell]
在〔shell 〕下再增加一个〔主键〕
名为〔OpenInNotepad〕
在〔OpenInNotepad〕增加一个字串值
数值资料为〔使用记事本打开〕
再在〔OpenInNotepad〕下再增加一个〔主键〕
名为〔command〕
在〔command〕增加一个字串值
数值资料为〔notepad.exe "%1"〕
7.、 影音文件在xp中无法删除 很多情况下是因为预览功能搞的鬼。开始|运行中输入并执行“REGSVR32 /U SHMEDIA.DLL”,取消息预览。恢复时运行“REGSVR32 SHMEDIA.DLL”
其实就是去掉预览功能
8. 注册表解锁
REGEDIT4 [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem]
"DisableRegistryTools"=dword:00000000
9. 在xp下重装ie:
运行注册表编辑器,找到[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Active Setup/Installed Components{89820200-ECBD-11cf-8B85-00AA005B4383}],把键值从1改成0,重启后xp将自动开始安装ie6.
10.永久不开启3721
- Win9x/Me
编辑文件 X:Windowshosts,添加一行代码:
download. 255.255.255.255
- WinNT/2000
编辑文件 X:WINNTsystem32driversetchosts,添加一行代码:
255.255.255.255 download.
- WinXP
编辑文件 X:Windows/system32/drivers/etc/hosts,添加一行代码:
255.255.255.255 download.
对于 CNNIC 的中文域名也可以用,域名改成
11.任务栏里的显示桌面丢失了怎么办?
简单的方法::
记事本新建输入:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
保存为 显示桌面.scf
拖到快速启动
12.用winrar合并mp3:
把几首要合并的mp3文件选中,右键单击——添加到档案文件,压缩方式选择存储。然后把压缩好的文件后缀改成mp3。再放一下听听是不是两首歌已经合成一首啦。
13.在你的QQ上直接查询活跃天数纯真时空论坛
在QQ面板的左侧点击:用户自定义面板(一只笔和记事本那个图标)-->点击“添加链接”(正上方)-->调出“收藏夹管理”-->选择“添加”,在下方“详细信息”里“名称”输入“活跃天数查询”、“链接”输入“http://im.”,,然后点击“设为默认”、“确认”。这样以后你就可以在QQ里直接查询现在活跃天数和剩余天数,省的每次都到QQ网站上去查询了。纯真,QQ,时尚,悠闲,IP _4[ H)t a3C K s
以上做完后,再进入“用户自定义面板”,点击左上方的“收藏夹”,在下拉表中选择“活跃天数查询”。就OK啦~~~~~~实时汇报
14.修改用户控制权限—不让烦人程序自动启动
现在不少软件,如WinDIY、MyIM等,每次运行后都会自动在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加该软件的字符串值,目的是为了在系统启动时运行该软件。
但很多时候这种功能反倒让我们感到苦恼,手动修改的话要每次运行软件后才能进行修改,十分麻烦。其实只要修改当前用户对HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run键的控制权限,只设置为“读取”,就可以防止程序的“自作主张”。
方法是运行注册表编辑器(Windows 2000用regedt32),右击HKEY_LOCAL_MA-CHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,选择“权限→高级”(此处是针对“从父系继承权限”功能而无法直接进行修改),在“权限”控制页中选择需要修改的用户或用户组(一般为Administrators),然后单击“编辑”按钮,再按照图中的设置,把Administrators用户对该注册表键的控制权限改为只读取。因为我们运行的程序都是以当前用户权限来运行的,所以程序对该注册表键也只是具有“读取”权限而已。此修改还可以有效预防一些木马、病毒对注册表启动项的而已修改,毕竟现在我们大多数用户都是以Administrator来登录系统嘛。利用此原理,我们还可以对系统的一些文件夹进行权限限制,比如通过禁止对%systemroot%\prefetch文件夹的“写入”权限来预防系统的预读文件过多而造成系统启动慢的问题。
15.顽固程序的卸载
当卸载软件时,我们常常会遇到这样的事情:有些程序非常顽固,即使你用了各种招数都无法卸载,这是因为该程序没有完全安装、程序文件被破坏,或者程序安装目录已被删除等原因,为此,你可以用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载。
首先要打开Windows XP安装光盘,安装“Support Tools”,然后进入硬盘的Support Tools安装目录(X:\Program Files\Support Tools),找到Msicuu.exe并双击,于是就会弹出一个“Windows Installer Clean Up”窗口,显示当前已安装的所有程序列表。你从中选择顽固程序,然后单击“Rmove”按钮即可卸载。
如果以上方法无效,建议你用Msizap.exe来卸载,方法是:打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall,在左边项中找到顽固程序的标识(例如{268723B7-A994-4286-9F85-B974D5CAFC7B}),然后依次选择“开始→程序→Windows Support Tools→Command Prompt”命令,在命令提示符后,输入以下命令:msizap T {顽固程序的标识},按回车后即可卸载顽固程序。
16.修改Boot.ini文件以修改Windoows XP的开机画面的技巧
第一步:建立自己的开机画面
做此开机画面的图片要求:图片取名为Boot.bmp,大小640*480,16色的bmp位图,保存在系统盘的windows目录下。
建议在Photoshop中新建一个大小640*480全黑的图层做背景,然后将自己喜欢的图片放到黑色的图层上。图片模式改为索引。保存时选择16色(即4位)bmp图片。保存在windows目录下。
2)在boot.ini里面加上 "/bootlogo /noguiboot" 。
附:Boot.ini参数的秘密
观察上面替换开机画面的步骤你就会发现:其实主要的步骤就是在Boot.ini中填加了一个重要的参数。Boot.ini中还包含不少有用的参数,很多杂志报刊都有过介绍,这里我们介绍几个比较重要的参数。
1./BOOTLOG:加上这个参数启动电脑后,系统会把启动信息都记录在一个文件中,便于今后查看。保存位置为%SystemRoot%\Ntbtlog.txt,其中“%SystemRoot%”代表系统文件夹,如C:\Windows。
2./nodetect:有一个技巧宣称:把“Boot.ini”文件中每个启动项后面的“fastdetect”修改为“nodetect”,可以加快WindowsXP启动速度。其实,在微软的词汇库中并没有“nodetect”这个词,Boot.ini文件中都没有“nodetect”这个参数。
因此,把“fastdetect”改为“nodetect”并不会有什么作用。对于“fastdetect”这个参数,微软给出的解释是“关闭在开机时对串口鼠标的检测”。
17.创建一个无名文件夹
打开命令行提示符,进入要创建文件夹的目录,比如:C:,输入“md”后,按住Alt键,再输入“255”,回车后再到C盘看看,是不是多了一个无名文件夹呢?
18.解决Windows XP系统中CPU占用率过高的问题
有这么一个现象,当安装windows XP的计算机收到445端口上的连接请求时,windows XP会分配内存并少量地调配CPU资源来为这些连接提供服务.当连接请求负荷过重时,就可能会造成CPU占用率过高,导致系统性能急剧下降,甚至会进入假死状态。
问题原因:
这是由于windows XP工作项目数目和响应能力间“比例失调”造成的,如果有一个合适的MaxWorkitems设置,就能提高系统响应能力。
解决办法:
点击“开始”→“运行”,在运行对话框中输入“Regedit”,点击“确定”,打开注册表编辑器,依次展开如下子键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver,在其右侧窗口中新建一个名为“Maxworkitems”的DWORD值,然后双击它,在弹出的“编辑DWORD值”对话框中,根据计算机的内存容量来确定该键的键值,如果计算机内存小于512MB,请键入“256”;如果内存大于512MB,请设置为“1024”。完成操作后,退出注册表编辑器,重新启动计算机即可生效。
19.解开被锁注册表的四种方法
你是否遇到过这样的情况:某天打开一个网址后,但过后你的IE默认主页被修改了,在无法恢复的情况下想进入注册表来试试,但是发现注册表也被锁定了,这个时候怎么办呢?那就看看下面本文所讲的四种方法,能够帮你很好的解决这个问题。
一、解锁方法:
1.你也可以用NotePad编辑一个文本文件,保存文件的时候用格式 xxxxxx.reg
在文件中打入以下:
(空一行)
REGEDIT 或 REGEDIT4
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\
Policies\system"DisableRegistryTools"=dword:00000000]
保存文件后,导入注册表。
2.使用第三方工具恢复,如用超级兔子注册表魔法等
3.用 Win9X/ME 者,可以安装 Norton Utilities,用其自有的 RegEdit.那就不受任何限制了。
二、HTM文件解开注册表
<head>
<TITLE>解开注册表</TITLE>
<meta name="keywords" content="注册表,恶意代码,修改注册表">
<meta name="deion" content="Robonic修改,QQ:10000022www.>
</head>
<></>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<param name="Command" value="Close">
</object>
<input type="button" value="解开注册表" >
</HTML>
存为HTM文件,打开就可以了。
三、利用系统策略编辑器
以在Windows 9x操作系统下的使用为例来介绍。
首先,将安装光盘中ToolsReskitNetaminPoledit文件夹中的所有文件复制到硬盘中,然后双击Poledit.exe运行系统策略编辑器(如果提示找不到模板文件,可以从系统策略编辑器的“选项”菜单中选择“模板”,然后单击“打开模板”,再选择Admin.adm文件即可)。在“文件”菜单中选择“打开注册表”,此时你就会发现下面原来空白的面板中多了两个图标:一个是“本地计算机”,一个是“本地用户”。
我们要用的主要是“本地用户”(“本地计算机”里面主要是网络和系统方面的设置,有兴趣的读者可以自己去试试)。双击“本地用户”,会弹出“本地用户属性”界面,在该界面中可看到一个树形目录,包括“控制面板”、“桌面”、“网络”、“外壳”和“系统”5项。
下面,我们就来体验一下系统策略编辑器的威力吧!对于上面提及的注册表被锁的例子,现在我们只要选择“系统→限制”选项,就可以看到4个选项。如果你的注册表被锁,则“禁用注册表编辑器”前的复选框被选中。取消对该选项的选取,按“确定”退回主界面。别急,这时工作还没完成呢!选择“文件→保存”,你所做的修改才能生效。然后试试运行Regedit,是不是可以用了呢?其实,在这5个基本目录中你还可以实现很多常用的个性化设置,这里就不多谈了。
四、利用系统策略编辑器
在Windows 2000/XP/2003中,我们可以通过单击“开始→运行”,输入“Gpedit.msc”后回车,打开“组策略”。然后,依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具”,在弹出的窗口中选择“已禁用”,“确定”后再退出“组策略”,即可为注册表解锁。
20.XP的一个无敌命令
XP有一个很无敌的命令,用来替换文件的replace,连正在使用的文件也能替换。非常无敌。 比如:在C:下建一个目录,c:aaa ,然后复制一首mp3到c:aaa并命名为c:aaaa.mp3 ,然后再复制另一首歌到C:a.mp3 ,然后用media player 播放c:aaaa.mp3 ,在命令提示符下输入:replace c:a.mp3 c:aaa ,过一会,是不是播放的歌已变为另一首。
用这个命令来替换系统文件真是太爽了,并且XP的系统文件保护也对它无效。 再也不用到安全模式下去替换文件了
格式
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W]
[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替换文件的
目录。
/A 把新文件加入目标目录。不能和/S 或 /U 命令行开关搭配使用。 /P 替换文件或加入源文件之前会先提示您进行确认。 /R 替换只读文件以及未受保护的文件。 /S 替换目标目录中所有子目录的文件。 不能与 /A 命令选项搭配使用。
/W 等您插入磁盘以后再运行。
/U 只会替换或更新比源文件日期早的文件。 不能与 /A 命令行开关搭配使用。
21.在DOS下使用注册表扫描程序
从windows98之后,windows系统加入了对注册表的管理程序,该程序有两个版本,scanregw.exe工作在windows环境中,Scanreg.exe工作在dos环境.并用一个Scanreg.ini文件与之辅助.介绍该程序For windows版本的文章很多,朋友们可以自己查找参阅.这里仅介绍如何在dos下使用Scanreg.exe程序.
由于程序是在dos模式下工作.因此,尽管你的操作系统是中文版的windows,这时出现的也是英文字符界面.程序操作是由命令行和一些选项开关组成.命令只有一个Scanreg,后面是/,之后就是所谓的开关了.如果你键入:Scanreg/?,会出现简单的帮助信息.其具体分析如下:
Scanreg/backup 备份注册表的命令.这个命令执行后开始备份注册表,速度很快,备份结束出现dos默认的提示符号.
Scanreg/restore 它执行后,系统会列出所备份的注册表文件,至于能列出多少个备份文件,与scanreg.ini文件中的设置有关,一般默认是5个备份文件.每个文件后面都有备份的日期.移动光条,选择一个,执行restore就可以回复选定的注册表.
Scanreg /fix 注册表有问题时可以用这个来修复,修复时间较长,也许是我的机器很长时间没有进行过注册表修复操作,我在自己的机器上(P166MMX超频到187MHz,32M内存)执行这个命令后,用了十多分钟,其间有进度条指示修复完成的情况.
Scanreg /comment=< "comment"> 这是备份注释文件的命令. 可以将该文件备份为cab格式,由于cab格式是对文件进行压缩后备份的,利用这一点也可以将别的什么文件备份为cab格式.可以减少磁盘空间的浪费.以后有用得着这个文件的时候,先执行Scanreg/restore命令,就可以在恢复文件列表中找到它,如果需要,也可以像恢复注册表文件一样进行恢复.
系统出现问题,多数与注册表有关系,这时如果将注册表恢复到较早的一个,说不定就能解决问题.当你遇到的故障使得系统不能工作在windows模式下时,dos模式下恢复注册表就是唯一的选择了,愿我这里介绍的一点点知识,能在你遇到上述难题时,助你一臂之
22.FTP主要操作命令简介
FTP主要操作命令简介 文件传输软件的使用格式为:FTP ,如果连接成功,系统将提示用户输入用户名以及口令: LOGIN:(输入合法的用户名或者“anONYMOUS”) PASSWORD:(输入合法的口令,若以“anONYMOUS”方式登录,一般不用口令) 进入想要连接的FTP站点后,用户就可以进行相应的文件传输操作了,其中一些重要的命令及相似的命令如下: (1)HELP、?、RHELP、REMOTEHELP HELP 显示LOCAL端的命令说明,若不接受则显示所有可用命令; ? 相当于HELP,例如:? CD; RHELP 同HELP,只是它用来显示REMOTE端的命令说明; REMOTEHELP 相当于RHELP。 (2)ASC(ASCII)、BIN(BINARY)、IMAGE、TYPE ASCII 切换传输模式为文字模式(只能用来传送DOC文件,因为是7-BIT) BINARY 切换传输模式为二进制模式(除文字文件外皆用此模式); IMAGE 相当于BINARY; TYPE 让你更改或显示目前传输模式。 (3)BYE、QUIT BYE 退出FTP; QUIT 相当于BYE。 (4)CD、CDUP、LCD、PWD、! CD 改变当前工作目录,例如:CD \PUB; CDUP 回到上一层目录,相当于你打CD..; LCD 让你更改或显示LOCAL端的工作目录,例如:LCD \TMP; PWD 显示目前的工作目录(REMOTE端); ! 让你执行外壳命令,例如: !LS。 (5)DELETE、MDELETE、RENAME DELETE 删除REMOTE端的文件 MDELETE 批量删除文件,需配合?或*; RENAME 更改REMOTE端的文件名。 (6)GET、MGET、PUT、MPUT、RECV、SEND GET 下传文件; MGET 批量下传文件,需配合万用字元,例如:MGET *.GZ; PUT 上传文件; MPUT 批量上传文件,需配合万用字元; RECV 相当于GET(RECV为RECEIVE的简写); SEND 相当于PUT。 (7)HASH、PROMPT、VERBOSE、STATUS、BELL HASH 切换#字号的出现,每一个#字号表示传送了1024/8192 BYTES; PROMPT 切换INTERACTIVE ON/OFF; VERBOSE 切换所有文件传输过程的显示; STATUS 显示目前的一些参数; BELL 当指令做完时会发出一声叫声。 (8)LS、DIR、MLS、MDIR、MKDIR、RMDIR LS 有点象UNIX下的LS(LIST)命令; DIR 相当于LS -L(LIST-LONG); MLS 只是将远端某目录下的文件存于LOCAL端的某文件里; MDIR 相当于MLS; MKDIR 象DOS下的MD(创建子目录)一样; RMDIR 象DOS下的RD(删除子目录)一样; (9)OPEN、CLOSE、DISCONNECT、USER OPEN 连接某个远端FTP服务器; CLOSE 关闭目前的连接; DISCONNECT 相当于CLOSE; USER 再输入一次用户名和口令(有点像UNIX下的SU)。
25. 删除共享文档
如果你不需要共享文件,可以这样移除它:进入HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion Explorer My computer Namespace DelegateFolders,删除键值“”。
27.停用“上次访问时间标记(Last Access Time Stamp)”
不想要这项功能,可以这样修改:进入HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control File system,新建DWORD值“NtfsDisableLastAccessUpdate”,将其值修改为“1”即可。
28.设置“远程访问连接服务器(RAS)”
需要的话可以这样修改:进入HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion Winlogon,新建字符串值“KeepRasConnections”,将其值修改为“1”即可。
29.使用明文密码(Lain Text Password)
访问UNIX或者LINUX服务器的时候,有时需要明文密码这在XP下很容易实现:找到“HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services lanmanworkstation parameter enableplaintextpassword”并将其值设置为“1”即可.
30. 不再费时费力 两招快速定位注册表项
现在有很多设置技巧都需要通过修改注册表来实现,但在注册表中,查找项名是相当费时费力的。以修改驱动器的右键菜单来说,在“HKEY_CLASSES_ROOT\”分支下有近万个项,要从中找到driver项可没那么简单,需要简化操作。
1.以名定位
运行“regedit”命令打开注册表编辑器,展开“HKEY_CLASSES_ROOT\”分支,按“d”键,可以选中第一个以“d”开头的项,再点击一下“r”键可直接查找到首个以“dr”开头的项,当然就是“driver”项了。注意:连续输入速度一定要快,太慢的话dr将被分成两次独立操作,结果只会定位到r开头的项。
2.不可不用的查找功能
使用查找功能来查询须修改的项可以算是最原始的方法了,不过相当实用。其实查找还有另一个更大的用处,那就是在你不知道具体分支项名时也可以找到。比如说你想修改回收站名称,那么只要在查找中输入“回收站”,把查看中的“项”、“值”、“数据”全部选中,再进行查找,就可以找到需要修改的位置了,当然找到的不一定就只有一项,具体是哪一项就得靠自己分析了。很适合有意自学的朋友使用。
事实上,不知道大家有没有注意到,对注册表的修改通常总是集中在有限的几个主项下,如:“HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ntrolSet”、“HKEY_LOCAL_MACHIN E\SOFTWARE\Microsoft\Windows\C urrentVersion”、“HKEY_LOCAL_MAC HINE\SOFTWARE\Microsoft”、“HKE Y_CURRENT_USER\Software\Micro soft\Windows\CurrentVersion”和“HKE Y_CURRENT_USER\Software\Microsoft”。
把这些项添加到收藏夹中,以后想查找某项的话就会方便许多。
32.让欢迎窗口更清晰
Windows XP系统的显示效果得到了较大提高,这主要是基于它使用了名"ClearType"的清晰化技术,该技术特别让使用笔记本电脑及液晶显示器的用户在运行Windows XP操作系统时感受到与以往系统不同的效果。但由于该清晰效果只有当Windows启动完毕后才能调用,因此在系统启动过程中的欢迎窗口仍然无法实现这一效果。为了使欢迎窗口更加清晰,用户可以使用注册表编辑器进行修改,寻找到这两个主键:
HKEY_USERS\.Default\Control Panel\Desktop\FontSmoothing
HKEY_USERS\.Default\Control Panel\Desktop\FontSmoothingType
将键值修改为“2”,这样便可以实现清晰显示效果了。
33.向隐藏的垃圾箱删除文件
Windows XP垃圾箱的默认位置是在桌面的右下角,在底部系统托盘的上面。如果用户打开多个窗口,则会挡住垃圾箱,使用户无法拖曳文件及文件夹至垃圾箱。为此,微软专门做了非常人性化的设计,当用户拖动一批文件并移至桌面右下角时,用户可以拖动鼠标并将所有文件移至桌面最下方任务条的空白区域,并在那里停留几秒钟,届时所有打开的窗口将会自动最小化,从而允许用户将文件拖至垃圾箱。另外,无论打开的多个窗口是否最大化,用户执行上述操作均可以实现让所有窗口最小化的效果。
34.快速锁定计算机
如果你因为有急事而需要离开,但又不希望电脑进行系统注销。这时你可以选择“新建”→“快捷方式”,接着系统便会启动创建快捷方式向导,在文本框中输入"rundll32.exe user32.dll,LockWorkStation",单击“下一步”,在弹出的窗口中输入快捷方式的名称。比如我们可将它命名为"锁定计算机"或选用你所喜欢的任何名称,单击“完成”。以后,我们就可以简单地点击这个快捷方式,锁定计算机。
37.寻找XP的安装密码
在9X时代,如果忘记了Windows的安装密码,只要到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion,察看一下ProductKey就可以了,可是在XP的注册表中怎么找不到呢?其实不需要到注册表中,打开Windows\System32,这儿有个叫$winnt$的配置文件,里面已经有清楚的记载了。
39.Windows XP自动关机的实现
Windows XP的关机是由Windows\System32下的Shutdown.exe程序来控制的。(如果想把Shutdown.exe复制到Windows 2000系统目录下,也可以实现。)
比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”,这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60分钟后自动关机,“3600”代表60分钟。
设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。
Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家可以在Shutdown.exe中按需使用。
-f:强行关闭应用程序
-m \\计算机名:控制远程计算机
-i:显示图形用户界面,但必须是Shutdown的第一个选项
-l:注销当前用户
-r:关机并重启
-t 时间:设置关机倒计时
-c "消息内容":输入关机对话框中的消息内容(不能超127个字符)
40. 2000/XP命令行一次运行多个命令
和流行的UNIX SHELL一样了,XP的命令行可以使用 && 和 || 组合两条命令,依次执行比如:
aa && bb
就是执行aa,成功后再执行bb。
aa || bb
先执行aa,若执行成功则不再执行bb,若失败则执行bb。
返回值errorlevel=0表示你发出的命令执行成功。
41.用SCANREG备份重要文件
打开系统目录下scanreg.ini,修改其中内容,BackupDirectory为备份路径,默认为%windir%\sysbckup,需要备份的文件为Files=完整路径,文件1,文件2
42.修正字体文件夹
如果有人要问,字体怎么安装?老鸟们就会告诉他,到控制面板,打开字体文件夹,选文件-----安装新字体。可是还有好多朋友发现,不对,我的字体文件夹没有这个选项啊,呵呵,其实这很简单,打开文件夹中的Desktop.ini,加上UICLSID={BD84B380-8CA2-1069-AB1D-08000948F534},现在再打开看看。
43.定制你文件夹的新图标
某个目录对你很重要吗?让它有个与众不同的图标吧,这样辨认起来也容易。用记事本在你的目录内新建一个文件,文件名叫作Desktop.ini,将下面这两行输进去:
[.ShellClassInfo]
IconFile=
Iconindex=
IconFile就是你的图标文件,可以采用.ico、.exe、.dll等这类有图标的文件充当。写下绝对或相对路径都可以,Iconindex是选择哪一个图标,如果你指定的EXE或者DLL中包含不止一个图标,那就需要选择了,如果你想使用第一个图标,就写上Iconindex=0就可以了,在没有该行定义的情况下,默认是使用第四个图标,即Iconindex=3,这就是好多时候ICO显示不出的原因(里面只有一个图标呀),接着请到DOS下将这个目录设置为系统属性,方法是:ATTRIB+S 文件夹,快按下F5刷新吧,一个全新的图标代表你的文件夹。
45.网页的二级链接打不开?
单击"开始→运行",依次运行
regsvr32 actxprxy.dll
regsvr32 shdocvw.dll
如果还不行,则可以将mshtml.dll、urlmon.dll、ms.dll、browseui.dll、oleaut32.dll、shell32.dll也注册一下。
46.使每次打开IE时的窗口都是最大化
通过快捷方式启动IE,例如通过快速启动工具栏中的图标启动IE时,您可以右击“快捷方式图标”,选择“属性”,在“快捷方式”选项卡中的“运行方式”选项栏中选择“最大化”,然后单击“确定”按钮。此后,无论什么时候您通过这个快捷方式启动IE,浏览器的窗口总处于最大化状态。
通过桌面的“Internet Explorer”图标启动IE时,因为这不是一个标准的快捷方式,所以没有最大化选项。幸运的是,这个图标可以记住最近一次您使用浏览器的窗口的设置情况。因此,如果当您退出IE前将窗口最大化,那么下次启动IE时仍然会保持此次退出时的窗口设置。
47.屏蔽网页广告的另类方法
现在网站的广告实在是越来越多了,从上到下、横幅、弹出、全屏、气球等等形式的广告,影响速度不说,还浪费时间,没包月的朋友得心疼死了,装过滤软件很麻烦又浪费资源还影响速度,其实有很简单的方法来消除这些讨厌的东西而且不影响正常浏览,那就是修改本机的hosts文件。
对于Win2000和XP,这个文件是:
X:\WINNT\system32\drivers\etc\hosts
对于win98,这个文件是:
X:\WINDOWS\hosts
在hosts文件中加入下面几行(一定要用127.0.0.1,不然会影响速度):
127.0.0.1 ad1.
127.0.0.1 ad2.
127.0.0.1 ad3.
127.0.0.1 ad4.
127.0.0.1 popme.
127.0.0.1 img.
经过这样修改之后,这些广告就都不用下载了,而且正常的浏览不受影响,浏览速度会大大提高的。
50.修正IE6的BUG
IE6.0中有一个BUG,比如你在地址栏中敲入163,然后按Ctrl+Enter时,它不是指向www.,却跑到了www.163.上来。可通过下面的方法来修正它。找到browselc.dll文件,拷贝到任意一个地方,右键鼠标“属性”,去掉只读选项(因为系统在使用此文件,不能直接打开)。然后用eXeScope打开此文件,找到“资源”-“字串表”下的809字,打开找到12936,把“12936,http://www.%s.”改为“12936,http://www.%”即可。
重启电脑,进入到DOS状态下,用修改后的文件覆盖原来的browselc.dll即可。
51.彻底隐藏文件
每个人的机器上都或多或少有一点不愿意别人看见的东西,怎么办,直接隐藏起来吗?一打开显示隐藏文件就什么都看见了,其实你只要在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
explorer\Advanced\Folder\Hidden\SHOWALL下, DWORD值CheckedValue设为0(如果没有这一项可新建一个)。这样当有非法用户开启显示隐藏文件功能后,你的文件也不会被显示出来。
52.寻回XP管理员密码 在使用Windows XP/2000操作系统的过程中,我们可能因为某些原因把管理员(administrator)密码丢失,而在管理员账户下却有很多的工作要做,应该怎么恢复呢?删除SAM文件,能有效的恢复管理员密码。 众所周知,Windows 2000的密码存放在系统所在的WinNT\System 32\CONFIG(如果是Windows XP,则目录为Windows\System 32\Config)下的SAM文件中,SAM文件即账号密码数据库文件。当我们登陆系统时,系统会自动地和Config中的SAM校对,如发现此次密码和用户名与SAM文件中的加密数据全都符合时,你就会顺利登陆;如果错误则无法登陆。既然如此,我们的第一个方法就产生了——删除SAM文件来恢复密码。
如果你使用的是FAT32分区格式,那么可以使用Windows 98启动盘启动电脑,然后删除SAM文件后,再重新启动,此时管理员administrator账号已经没有密码了,这时你可以用administrator账户登录系统,进入系统后再重新设置你的管理员账户密码即可。
如果是NTFS格式,那么稍麻烦些。如果有两个操作系统的话,可以使用另外一个访问NTFS的操作系统启动电脑,或者将这块硬盘以从盘模式挂接到其它能识别NTFS文件系统(如Windows 2000或Windows XP)的计算机上,删除SAM文件,重新启动即可。