宏命令语句(文件打开级内容处理)

宏命令语句(文件打开级内容处理)
宏命令语句(文件打开级内容处理)

Function OpenExcelFile(sPath As String, ByVal sFileName As String, bDisplay As Boolean, sPwd As String) As Integer

'许长安时间: 2016-2-4

'打开Excel文件

'参数说明:

'sPath:文件绝对路径;sFileName:Excel文件名;bDisplay:True显示错误信息;sPwd:文件打开密码

'返回值:-1:同名文件已经打开;-2:文件不存在或密码错误;0:成功打开;1:文件已经被打开Dim bOpen As Boolean

Dim sFullName As String

On Error Resume Next

If InStr(LCase(sFileName), ".xls") = 0 Then sFileName = sFileName & ".xls"

sFullName = Workbooks(sFileName).FullName

'检查是否已经打开同名的Excel文件

'如果有sFullName不为空

On Error GoTo 0

bOpen = False

If sFullName <> "" Then

If LCase(sFullName) = LCase(sPath & "\" & sFileName) Then

bOpen = True

'判断已经打开的同名文件是否本次需要打开的文件

OpenExcelFile = 1

'文件已经被打开

'MsgBox "请首先关闭“" & sFileName & "”文件!" & Chr(13) & "不能同时打开同名文件,这是Excel的规定!", vbOKOnly + vbExclamation, "文件的打开错误"

'Else

If bDisplay Then

MsgBox "请首先关闭“" & sFileName & "”文件!" & Chr(13) & "不能同时打开同名文件,这是Excel的规定!", vbOKOnly + vbExclamation, "文件的打开错误"

End If

bOpen = True

OpenExcelFile = -1

'不能同时打开同名文件,这是Excel的规定

End If

End If

If Not bOpen Then

On Error GoTo errOpen

Workbooks.Open FileName:=sPath & "\" & sFileName, Password:=sPwd

On Error GoTo 0

OpenExcelFile = 0

'成功打开文件

End If

Exit Function

errOpen:

If bDisplay Then MsgBox Err.Description, vbOKOnly + vbExclamation, "文件的打开错误" OpenExcelFile = -2

'文件不存在或密码错误

On Error GoTo 0

End Function

Sub fileproce()

'

' Macro5 Macro

' 宏由许长安录制,时间: 2016-2-28

'MergeArea.Rows.Count

'MergeArea.Columns.Count'

'Range("B7:B28").Select

'row = ActiveCell.row()

'col = ActiveCell.Column()

Dim i, h As Long

Dim row, col, rangrows, countrows As Long

i = 0

'countrows = ActiveCell.row()

'MsgBox "当前文件总并行数:" & countrows & "!"

'rangrows = Cells(row, col).MergeArea.Rows.Count ' 从B列第7行开始

'Range("B7:B" & rangrows).Select

'MsgBox "B7当前合并行数:" & rangrows & "!"

row = 7 '定义起始行数

col = 2 '定义从B列开始

Do While row < https://www.360docs.net/doc/ad12674622.html,edRange.Rows.Count() '设定总行数Range("B" & row & ":B" & row).Select

If Range("B" & row).MergeCells Then

With Selection

.HorizontalAlignment = xlGeneral

.VerticalAlignment = xlCenter

.WrapText = True

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = True

End With

rangrows = Cells(row, col).MergeArea.Rows.Count '返回当前合并格行数Selection.UnMerge '撤销合并格

Do While i < rangrows - 1 '将撤销合并格后空格赋合并前的数值

Range("B" & row + i).Select

Selection.Copy

Range("B" & row + i + 1).Select

ActiveSheet.Paste

i = i + 1

Loop

row = row + i

End If

i = 0

row = row + 1

Loop

Range("B7").Select

End Sub

Sub 读取日成本异常数据()

'

' 读取日成本异常数据Macro

' 宏由许长安录制,时间: 2016-2-25

'

'

' Range("C7").Select

' Application.WindowState = xlMaximized

' Windows("钢后实际价汇总_到钢种.xls").Activate

Dim i, h, m, n, j, k As Integer

Dim sFullPath As String

Dim sFileName As String

Dim MyFile As Object

col = 17

row = 2

'''''''''''''''''''''''''以下测试日期控件'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Cells(1, 13) = DTPicker1.Value

'MsgBox DTPicker1.Value

'With ActiveWorkbook.Worksheet

'MsgBox Sheets("Sheet1").DTPicker1.Value

'MsgBox CStr(Sheets("Sheet1").DTPicker1.Value)

'MsgBox Format(Sheets("Sheet1").DTPicker1.Value, "yyyymmdd")

'sFileName = "钢后实际价汇总_到钢种" & Format(Sheets("Sheet1").DTPicker1.Value, "yyyymmdd")

'MsgBox sFileName

'End With

'sFileName = "钢后实际价汇总_到钢种" & Format(DTPicker1.Value, "yyyymmdd") '指定需要拷贝数据的日期

'''''''''''''''''''''''''以上测试日期控件''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Set MyFile = CreateObject("Scripting.FileSystemObject")

sFullPath = ThisWorkbook.Path '返回当前文件路径

'Format(Date, "yyyy年m月d日") '当前年月日

oFileName = "钢后实际价汇总_到钢种"

'oFileName = https://www.360docs.net/doc/ad12674622.html,

'sFileName = "钢后实际价汇总_到钢种" & Format(Date - 1, "yyyymmdd") '指定需要拷贝数据的日期

sFileName = "钢后实际价汇总_到钢种" & Format(Sheets("Sheet1").DTPicker1.Value, "yyyymmdd") '指定需要拷贝数据的日期

'MsgBox (Prompt [,Buttons] [,Title] [,Helpfile,Context])

'MsgBox sFullPath & sFileName & ".xls"

'MsgBox "当前打开的文件:" & oFileName

k = MsgBox(sFullPath & sFileName & ".xls", 1, "提示:即将打开的文件!")

If k = 2 Then

Exit Sub '退出本程序

End If

If MyFile.FileExists(sFullPath & "\" & sFileName & ".xls") = True Then '判定指定文件是否存在

i = OpenExcelFile(sFullPath, sFileName, 1, "") '打开数据源文件

Else

MsgBox "指定文件:" & sFileName & "不存在!"

Exit Sub

'Application.Quit '退出当前应用程序

End If

Windows(sFileName).Activate '激活数据源文件

fileproce '调用过程:处理原始文件

'Windows("钢后实际价汇总_到钢种.xls").Activate

'MsgBox https://www.360docs.net/doc/ad12674622.html,edRange.Rows.Count() '当前工作表总行数

'开始复制数据:

j = 7 ' 原始数据表第7行开始

Windows(sFileName & ".xls").Activate

m = https://www.360docs.net/doc/ad12674622.html,edRange.Rows.Count() ' 原始数据表总行数

Windows(oFileName & ".xls").Activate

n = https://www.360docs.net/doc/ad12674622.html,edRange.Rows.Count() ' 目标数据表总行数

Do While j < m '< 31 测试用实际用< n 开始对源文件数据进行复制

Windows(sFileName & ".xls").Activate

'MsgBox Cells(j, 16).Value

fff = Format(Cells(j, 16), "#,##0.000") '对源数据中当日数据差异率(第16列)取值

ggg = Format(Cells(j, 4), "#,##0.000") '对源数据中当日产量(第4列)取值

If (fff > 0.05 Or fff < -0.05) And ggg > 0 And Cells(j, 16).Value <> "" And Cells(j, 4).Value <> "" Then '数据计较且不能为空时

Range("B" & j & ":" & "I" & j).Select

Selection.Copy

Windows(oFileName & ".xls").Activate

Range("B" & n + 1).Select

ActiveSheet.Paste

Windows(sFileName & ".xls").Activate

Range("P" & j & ":" & "Q" & j).Select

Selection.Copy

Windows(oFileName & ".xls").Activate

'Range("J" & n + 1).Select

Range("J" & n + 1 & ":" & "K" & n + 1).Select

ActiveSheet.Paste

'填上颜色

Range("J" & n + 1).Select

If Format(Cells(n + 1, 10), "#,##0.000") > 0.1 Or Format(Cells(n + 1, 10), "#,##0.000") < -0.1 Then

Selection.Interior.ColorIndex = 6 '置为红色

Else

Selection.Interior.ColorIndex = 36 '置为黄色

End If

Range("K" & n + 1).Select

If Format(Cells(n + 1, 11), "#,##0.000") > 0.1 Or Format(Cells(n + 1, 11), "#,##0.000") < -0.1 Then

Selection.Interior.ColorIndex = 6

ElseIf Format(Cells(n + 1, 11), "#,##0.000") > 0.05 Or Format(Cells(n + 1, 11), "#,##0.000") < -0.05 Then

Selection.Interior.ColorIndex = 36 '置为黄色

Else

Selection.Interior.ColorIndex = 35 '置为蓝色

End If

'Cells(n + 1, 1).Value = Format(Date - 1, "yyyymmdd") ' 记录指定需要拷贝数据的日期

Cells(n + 1, 1).Value = Format(Sheets("Sheet1").DTPicker1.Value, "yyyymmdd") ' 记录指定需要拷贝数据的日期

Range("A" & n - 1 & ":" & "A" & n - 1).Select

Selection.Copy

Range("A" & n + 1).Select

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

n = n + 1

End If

j = j + 1

Windows(sFileName & ".xls").Activate

Loop

Windows(oFileName & ".xls").Activate

Workbooks(sFileName & ".XLS").Close SaveChanges:=False MsgBox "执行完毕!"

End Sub

c和c语言的文件操作全高效与简洁修订稿

c和c语言的文件操作 全高效与简洁 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

例一 #include "" int main() {FILE *fp,*f; int a,b,c; fp=fopen("","r"); f=fopen("","w"); fscanf(fp,"%d%d%d",&a,&b,&c); a=5; b=3; fprintf(f,"%d%d",a+b+c,b); fclose(fp); fclose(f); return 0;} 例二、新建一个名为的文件,里面按如图1存储6个数据,然后在同一目录下建立一文件,按图2格式输出这六个数据。 #include "" int main() {FILE *fp,*fpp; int a,b,c,d,e,f; fp=fopen("","r"); fpp=fopen("","w"); fscanf(fp,"%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f); fprintf(fpp,"%d%d%d%d%d%d",a,b,c,d,e,f); fclose(fp); fclose(fpp); return 0;}

c++常用: #include <> ifstream filein(""); // 定义一个文件输入流 ofstream fileout(""); //cout<< --> fileout<< () //文件到末尾,返回非零值 表示输入的数据文件 本地测试的话本来输入的数据就要在这个文件里面测试了 建一个本地的文本,可以用记事本的方式打开 注意:文件输入的话,以后的cin>>都要改成filein>>, cout<<都要改成fileout<< c语言常用: freopen("","r",stdin); //重定向所有标准的输入为文件输入 freopen("","w",stdout);//重定向所有标准的输出为文件输出 fclose(stdout);//输出结束 freopen("","r",stdin); //重定向所有标准的输入为文件输入 freopen("","w",stdout);//重定向所有标准的输出为文件输出 fclose(stdout);//输出结束 第一句的意思就是文件输入,以"读状态",去替换标准的输入 以上如果只是规定用文件输入输出的某一种,那么就只用其中的一种 方法一:最简单的 main() { freopen("","r",stdin);//从中读取数据 freopen("","w",stdout);//输出到文件 } 方法二:速度比第一种快 main() { FILE *in; FILE *out; in=fopen("","r"); //指针指向输入文件

宏的使用方法

在这里总结宏的使用方法欢迎补充 1 条件include 如下 CODE #ifndef MAIN_H_ #define MAIN_H_ 其它内容 #endif 上面在看到头文件时会看到作用就是阻止这个头文件被多次include 多次include就会出现重复的定义情况所以需要在每个头文件中都使用这个定义 如果还不是很了解要怎样使用可以看看c的标准头文件如fcntl.h 2 条件编译 如下 CODE #ifdef _DEBUG printf("this debug info\n"); #endif 如果没有定义_DEBUG宏的话那么上面那一行是不会编译进去的 但是定义了_DEBUG后上面那行就会编译进去可以写个简单的程序测试 CODE #include int main() { #ifdef _DEBUG printf("hello world\n"); #else printf("no debug"); #endif return 0; } 第一次使用gcc -D_DEBUG main.c 第二次使用gcc main.c 运行两次的结果看 3 定义为某个值以便后面修改这个值时不用修改其它地方代码只要修改这个宏的定义就可以了

如一个软件的多语言版本等 如下 CODE #include #define PRINT_STR "你好DD" main(){ printf(PRINT_STR); return 0; } 编译时会把PRINT_STR代替成"你好DD" 以后想修改时就方便了 另外也可以定义为函数 #include #ifdef _DEBUG #define A(x) a(x) #else #define A(x) b(x) #endif int a(int x) { return x+1; } int b(int x){ return x+100; } int main(){ printf ("A(10) value is %d",A(10)); return 0; } [/code] 其实也可以定义成 #define A a 的 但是定义成A(x)后只有A后面带一个(x)类型的编译器才会执行替换比较安全可以保证只替换函数而不替换变量 第四个 可变参数宏

ExcelVBA用户窗体编程基础

ExcelVBA用户窗体编程基础 概述 当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,您能使用用户窗体来自定义对话框。您能使用用户窗体来显示所输入的数据,您甚至能使用用户窗体创建一个完整的用户界面,而不会让用户接触到电子表格本身。 您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,复选框,文本框,组合框——加上一些其它不常用的控件像图像,日历,等等。 本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。其中,也讲解了一些最通用的思路。在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的代码,让您能在实践中看到所有工作的基本原理和方法。 本文包含以下内容: ● 基本的用户窗体操作 ● 用户窗体和控件的属性 ● 一个用户窗体的生命周期 ● 用户窗体和控件的事件 ● 问题1:如何在用户窗体间传递数据? ● 问题2:如何找到我的窗体中的某类控件? ● 问题3:如何获取数据到列表框中? ● 问题4:如何为循环创建进度条? ● 一个完整的用户窗体综合示例 基本的用户窗体操作 ?创建一个窗体。打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个窗体。 ?添加控件。当你创建了一个窗体后,将会显示一个名为“控件工具箱”的浮动工具箱(如果没有该工具箱的话,您可以从视图菜单中找到它),其中显示了最普遍的控件类型。单击您想要的控件,拖动它到您的用户窗体中。 ?更多的控件。有一些更多的可用的控件,您可以在控件工具箱中单击右键,从中选择“附加控件”,您能添加日历、电子表

批处理命令行for语句

for语句可以在命令行提示符中使用,也可以在批处理文件中使用。这两种情况下唯一的区别是%和%%,参加下文说明。 一、for语句的格式: for [参数] 变量in (集合) do 命令[命令的参数] 二、for语句的作用:对集合内的元素逐一执行后面的命令。 1、如:for %%i in (你好) do echo %%i 将在屏幕上显示“你好”2个字。这里集合是“你好”,执行的命令是“echo”。由于集合中只有1个元素,因此循环只运行一次。 如果改成for %%i in (你好朋友) do echo %%i 将会显示2行文字,第一行为“你好”,第二行为“朋友”。因为2个词之间有空格,因此集合中就有了2个元素,循环将运行2次。 2、注意:以上for语句的运行方式是新建一个批处理文件,即扩展名为“.bat”的文件,内容为上面的命令,然后运行。为了批处理执行完不退出,可在最后加上一条pause>null命令,这样能看到执行的结果。要想通过cmd命令行执行的话,必须将%%换成%,即去掉一个%,如下: for %i in (你好) do echo %i 3、以下所有例子都是这样,若要在命令行提示符下执行,请将所有的%%改成一个%。 三、for语句详细说明: 上面语句格式中有的加了中括号[],表示这个语句元素不是必须的,只在需要时使用。像刚才显示“你好”的命令中就没有使用[参数]这

个语句元素。所有语句元素间用空格隔开。 各语句元素的写法:for、in、do这3个符号是固定不变的 1、[参数]的种类:只有4种,分别是/d、/r、/l、/f(即目录Directory、递归recursion、序列list、文件file),他们用于对后面的集合的含义做出解释,请与下面的集合解释结合来看。这4个参数不区分大小写,可以联合使用,即一条for语句可以出现多个参数。 2、变量:除10个数字外(0-9)的所有符号(因为0-9往往作为形参使用,为了与此区别),变量名一般用单个字母表示即可,而且变量名区分大小写,即A和a是两个不同的变量。变量名前面必须是%,当在命令提示符下执行时,只用一个%;而在批处理程序中,必须用%%。 一行语句中,一般只需定义一个变量。使用/f参数中的tokens 选项可以将集合中的元素分解成多个值,并自动定义新的变量对应这些值。这时语句中可以使用多个变量,通常按字母顺序命名,即第一个是%%a,那么后一个就用%%b。如果第一个是%%i,后一个就用%%j。依此类推。具体看后面的相关内容。 变量可以直接在do后面的命令中使用。每次使用的变量总数不超过52个。 3、集合:集合必须放在括号里。集合是一行文本,这行文本可能有几种类型,如“你好”只是一串字符;“c:\boot.ini”是一个文件;“dir /b”是一个命令。 (1)如果for语句中没有使用任何参数,对待集合文本的处理方式是:

C语言读写文件操作

C语言读写文件操作 #include #include #include FILE *stream;//, *stream2; FILE *stream2; void main( void ) { int numclosed; char *list; list="这个程序由czw编写"; //试图打开文件data.txt,如果该文件不存在,则自动创建 if( (stream= fopen( "data.txt", "r" )) == NULL ) { printf( "试图打开'data.txt'\n" ); printf( "'data.txt'不存在\n" ); printf( "'data.txt'被创建\n" ); } else printf( "'data.txt'被打开\n" ); //以写入方式打开 if( (stream2 = fopen( "data.txt", "w+" )) == NULL ) printf( "'data.txt'不存在\n" ); else { printf( "'data.txt'成功被打开\n" ); fwrite(list,strlen(list),30,stream2); printf("写入数据成功\n"); } //如果文件data.txt存在,就会打开成功,则stream!=NULL,这时就关闭stream if (stream!=NULL) if( fclose( stream) ) printf( "文件流 stream 被关闭\n" ); //关闭所有打开的文件流,返回关闭的文件流个数 numclosed = _fcloseall( );

C语言 文件操作

C语言中的文件操作 12.1请编写一个程序,把一个文件的内容复制到另一个文件中。 程序如下: #include main() { char ch; FILE *fp1; FILE *fp2; if((fp1=fopen("C:\\Users\\acer\\Documents\\1.txt","r"))==NULL) { printf("The file 1.txt can not open!"); exit(0); } if((fp2=fopen("C:\\Users\\acer\\Documents\\2.txt","w"))==NULL) { printf("The file 2.txt can not open!"); exit(0); } ch=fgetc(fp1); while(!feof(fp1)) { fputc(ch,fp2); ch=fgetc(fp1); } fclose(fp1); fclose(fp2); } 运行结果: 12.3请编写一个程序,比较两个文件,如果相等则返回0;否则返回1。

程序如下:#include main() { FILE *f1,*f2; char a,b,c; int x; printf("input strings for file1\n"); f1=fopen("file1","w"); while((c=getchar())!= EOF) putc(c,f1); fclose(f1); printf("output strings for file1\n"); f1=fopen("file1","r"); while((c=getc(f1))!= EOF) printf("%c",c); fclose(f1); printf("\n\ninput strings for file2\n"); f2=fopen("file2","w"); while((c=getchar())!= EOF) putc(c,f2); fclose(f2); printf("\noutput strings for file2\n"); f1=fopen("file2","r"); while((c=getc(f2))!= EOF) printf("%c",c); fclose(f2); f2=fopen("file2","r"); getch(); }

Access上机操作题宏的创建与设计

Access上机操作题之三十二 ——宏的创建与设计㈠ 一、认识Access中的宏: ●宏的定义: 宏是一种以动作为单位的特殊代码,是由一连串动作组成的操作序列的集合,用来自动完成特定任务的操作或操作集。 ●动作的构成: 宏中的每个动作是由其动作名及其参数构成。如,Openform(动作名)表示打开指定的窗体。 ●宏、宏组与条件操作宏: ⑴宏:是一个操作序列的集合。 ⑵宏组:是多个操作序列的集合,即宏的集合。 ⑶条件操作宏:是带有条件的操作序列。 ●宏的功能: ⑴打开、关闭表单、报表,打印报表,执行查询。 ⑵移动窗口,改变窗口大小。 ⑶模拟键盘动作,为对话框或其他等待输入的任务提供字符串输入的功能。 ⑷显示信息框,响铃警告。 ⑸数据的导入、导出。 ⑹执行任意的应用程序模块。 ⑺为控件的属性赋值。 ●宏的设计视图窗口: 宏的设计视图用于宏的创建、编辑与测试,其窗口分为上下两个部分,上半部分为宏设计窗口,下半部分为宏参数的操作窗口。 1、宏设计窗口:一般包含宏名、条件、操作、注释等四个部分组成,其中“宏名”和“条件”两个部分经常被隐藏,可通过工具栏中的“宏名”和“条件”两个按钮显示出来。 ⑴宏名:是为所创建的宏命名。 ⑵条件:设置当前宏的运行条件。 ⑶操作:包含待执行的宏指令。 ⑷注释:为每一个操作提供注释说明,以帮助用户记忆宏的作用。 2、操作参数:是为当前宏指令设置相关的操作参数。当你选定“操作”栏中的宏指令时,就可在“操作参数”区中设置操作参数值。例如: ⑴当前选定的是“操作”栏中的“OpenForm”项,表示打开一个窗体或报表。 ⑵窗体名称:学生——表示打开的是“学生”窗体。 ⑶视图:窗体——表示在“窗体”视图方式下打开该窗体。 ⑷数据模式:只读——表示用户的操作权限为“只读”。 ⑸窗口模式:普通——表示窗口的显示方式为“普通”模式。

巧用宏命令,完美实现一页A4纸打印多张高清照片或幻灯片

巧用宏命令,完美实现一页A4纸打印多张高清照片或幻灯片 莘县一中张仿刚 工作中我们经常遇到这些情况:学籍库中2000多张照片,如何有序的打印在A4纸上,每张36张且把学籍号有序的自动填充到照片下方?家庭外出游玩的照片如何方便的按规定的尺寸打印在A4像纸上?一个ppt文件有96张幻灯片,如何清晰的在A4纸中一页打8张ppt(甚至更多张)?本文就以实例解决上述问题。 首先我们需要在word中安装“自动排版”宏命令,方法如下:word→工具→宏→录制新宏→宏名macrol 改为“自动排版”→确定→界面出现蓝色对话框,停止录制,然后word→工具→宏→选中宏“自动排版”→编辑,删除尾行的“end sub”,然后在尾行复制粘贴下列内容,关闭Visual Basic编辑器,这样自动排版的宏命令就已经制作好了。 '【调整页边距及页眉页脚距,适用于A4纸】 With ActiveDocument.Styles(wdStyleNormal).Font https://www.360docs.net/doc/ad12674622.html,FarEast=.NameAscii Then .NameAscii="" End If .NameFarEast="" End With With ActiveDocument.PageSetup .LineNumbering.Active=False .Orientation=wdOrientPortrait .TopMargin=CentimetersToPoints(1.6) .BottomMargin=CentimetersToPoints(0.9) .LeftMargin=CentimetersToPoints(1.4) .RightMargin=CentimetersToPoints(1) .Gutter=CentimetersToPoints(0) .HeaderDistance=CentimetersToPoints(0.5) .FooterDistance=CentimetersToPoints(0.9) .PageWidth=CentimetersToPoints(21) .PageHeight=CentimetersToPoints(29.7) .FirstPageTray=wdPrinterDefaultBin .OtherPagesTray=wdPrinterDefaultBin .SectionStart=wdSectionNewPage .OddAndEvenPagesHeaderFooter=False .DifferentFirstPageHeaderFooter=False .VerticalAlignment=wdAlignVerticalTop .SuppressEndnotes=False .MirrorMargins=False .TwoPagesOnOne=False .BookFoldPrinting=False .BookFoldRevPrinting=False .BookFoldPrintingSheets=1 .GutterPos=wdGutterPosLeft .LayoutMode=wdLayoutModeLineGrid End With '【加页码,页脚居中处】 Selection.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:=_ wdAlignPageNumberCenter,FirstPage:=True If ActiveWindow.View.SplitSpecial<>wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type=wdNormalView Or ActiveWindow._ ActivePane.View.Type=wdOutlineView Then ActiveWindow.ActivePane.View.Type=wdPrintView End If ActiveWindow.ActivePane.View.SeekView=wdSeekCurrentPageHeader If Selection.HeaderFooter.IsHeader=True Then ActiveWindow.ActivePane.View.SeekView=wdSeekCurrentPageFooter Else ActiveWindow.ActivePane.View.SeekView=wdSeekCurrentPageHeader

批处理命令for语句基本用法

批处理命令for语句的基本用法 [系列教程]批处理for语句从入门到精通[20101225更新] ____________________________版主提醒 ____________________________ 文档来自于网络搜索 为了避免影响技术讨论、提高看帖的舒适性,请大家不要在此帖下跟 无实质内容的口水帖,特别是纯顶、纯支持、纯感谢、路过之类的帖子, 管理人员将不定期清理此类回帖,请大家多参与讨论少灌水,与人方便, 终将给自己带来方便,谢谢合作。 ________________________________________________________________ 文档来自于网络搜索 批处理是一门简单的脚本语言,虽然不能独当一面,但是,若作为工作中的辅助工具,绝对会让大家有随用随写、称心如意的畅快感。 文档来自于网络搜索 和其他语言相比,批处理语言有其先天性的优势: 1、系统自带,无需另行安装; 2、命令少,语句简洁,上手非常快; 3、编写出来的脚本小巧玲珑,随写随用; 但是,因为它以命令行方式工作,操作多有不便,在图形界面大行其道的windows世界里,多多少少会让大众望而却步;就算是对命令行有好感的新手,面对微软有如天书的帮助文件,很多人也会败下阵来,因此,论坛里很多会员也发出了编写系统的批处理教程的呼声。

文档来自于网络搜索 编写系统的批处理新手教程,一直是论坛管理层讨论的热点问题,但是,各位管理人员大多都有工作在身,而系统的教程涉及的面是如此之广,面对如此浩大的工程,仅凭一两个人的力量,是难以做好的,因此,本人退而求其次,此次发布的教程,以专题的形式编写,日后人手渐多之后,再考虑组织人力编写全面的教程。 文档来自于网络搜索之所以选择最难的for,一是觉得for最为强大,是大多数人最希望掌握的;二是若写其他命令教程,如果没有for的基础,展开来讲解会无从下手;三是for也是批处理中最复杂最难掌握的语句,把它攻克了,批处理的学习将会一片坦途。 文档来自于网络搜索 这次的for语句系列教程,打算按照for语句的5种句式逐一展开,在讲解for/f的时候,会穿插讲解批处理中一个最为关键、也是新手最容易犯错的概念:变量延迟,大纲如下: 文档来自于网络搜索一前言 二for语句的基本用法 三for /f(含变量延迟) 四for /r 五for /d 六for /l 遵照yibantiaokuan的建议,在顶楼放出此教程的txt版本、word版本和pdf版本,以方便那些离线浏览的会员。 文档来自于网络搜索[本帖最后由namejm于2010-12-26 02:36编辑]

C语言中关于文件操作

C语言中关于文件操作 C语言中的文件 C语言把文件看作一个字节的序列 C语言对文件的存取是以字节为单位的文本文件(ASCII文件) 按数据的ASCII形式存储 二进制文件 按数据在内存中的二进制形式存储 文本文件和二进制文件 缓冲文件系统 文件类型指针 FILE类型 保存被使用的文件的有关信息 所有的文件操作都需要FILE类型的指针 FILE是库文件中定义的结构体的别名注意不要写成struct FILE 举例 FILE *fp;

FILE类型 typedef struct { short level; /*缓冲区满空程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*无缓冲则不读取字符*/ short bsize; /*缓冲区大小*/ unsigned char *buffer; /*数据缓冲区*/ unsigned char *curp; /*当前位置指针*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ } FILE; 文件的打开 (fopen函数) 函数原型 FILE *fopen(char *filename, char *mode); 参数说明 filename: 要打开的文件路径 mode: 打开模式 返回值 若成功,返回指向被打开文件的指针 若出错,返回空指针NULL(0) 打开模式描述 r 只读,打开已有文件,不能写 w 只写,创建或打开,覆盖已有文件 a 追加,创建或打开,在已有文件末尾追加 r+ 读写,打开已有文件 w+ 读写,创建或打开,覆盖已有文件 a+ 读写,创建或打开,在已有文件末尾追加 t 按文本方式打开 (缺省) b 按二进制方式打开 文件的打开模式 文件的关闭 (fclose函数) 函数原型 int fclose(FILE *fp); 参数说明 fp:要关闭的文件指针 返回值 若成功,返回0 若出错,返回EOF(-1) 不用的文件应关闭,防止数据破坏丢失

魔兽世界宏命令的编写教程

调出宏命令的编辑窗口有两种方式: 1.在聊天栏输入/MACRO 后回车。 2.按ESC 调出系统菜单选择【宏命令设置】 看见了吧? 弹出一个窗口,上面有【新建】和【退出】两个按钮。点【新建】,又会弹出一个窗口。五颜六色的图标包括了WOW 几乎所有的技能图片,随便选一个你喜欢的,它就是你设置的宏命令的图标了,给它取个名字吧!方便你用的时候好找。然后回到第一个窗口,它的下半部分是一个输入栏(别说找不到…),在里面输入宏的内容,然后点【退出】。 我们以牧师为例:选中牧师“复活术”的图标,在名称处填写‘复活'。返回到第一个窗口在输入栏中输入下面的命令: /me 开始施放复活术 /me 的复活术被%t 抵抗 /me 开始变得愤怒了 /me 获得了狂暴效果 /me 施放皮鞭失败:%t 对此免疫 /me 施放辣椒水失败:%t 爱吃川菜 /me开始施放色诱术(空格,空格.)%t复活了! /施放复活术(等级1) PS :一定要注意%t 是在英文输入下输入的。中文输入法下是全角模式不被系统接收。 HOHO ? 接下来你要做的就是把这个代表你宏命令的图标用鼠标左键拉到快捷栏里,可以设定热键来

使用,也可以用鼠标点击。反正是想怎么用就怎么用…,使用方式和普通技能相同 最后留给大家一个思考题,在上面的例子中,/me、‘ %t“施放”都是什么作用,牧师职业的玩 家可以自行制作后观看效果,可以更改文字,以加强抓狂效果:非牧师职业可以找牧师借鉴。牧师就是好!就是好! 宏命令的初级教程(上) 有了前两章的基础,大家对魔兽世界的宏命令应该有了一定的认识。下面我将对宏命令做出更加详细的介绍,魔兽世界的宏命令大概有几千个,在初级教程里面将讲解最常用的命令,实现的功 能也相对简单。有些人在此时可能在想编写一个宏可以完成一套攻击动作,如“换武器一一施法一一换回武器”等等。这确实是一套连续动作,不过能实现这套动作的叫外挂而不是宏,魔兽的宏不支持带有冷却时间的技能连续使用,因此那些想要自动完成某套动作的玩家你们的白日梦可以醒醒了。A_A 我这样说是不是会很打击大家的信心啊?好了。我们赶快开始。举个例子先: 网上一个很经典的宏例子 /Kneel /say如果你不嫁给我,那么我就一辈子不起来…” 这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…” 在这里用到两个宏命令/Kneel和/say,宏命令是不分大小写的。/kneel是个下跪的动作,/say 后面的文字会以普通对话的形式在游戏中表现出来。我们可以变化一下。 /Kneel

基本操作题(窗体报表宏)

一、窗体报表宏小结: ?查询分类: 1.选择查询: ●使用向导创建查询(无条件); ●在设计视图中创建查询(无条件、有条件); 2.交叉表查询: ●使用交叉表查询向导; ●在设计视图中创建查询; 3.参数查询: ●在设计视图中创建查询(在条件栏内输入提示信息,注意使用[ ]); 4.操作查询: ①生成表查询 ●在设计视图中创建查询(查询→生成表查询→表名(注意:执行一次查询)); ②更新查询 ●在设计视图中创建查询(查询→更新查询→更新到(注意:执行一次查询)); ③追加查询 ●在设计视图中创建查询(查询→追加查询→表名(注意:执行一次查询)); ④删除查询 ●在设计视图中创建查询(查询→删除查询→条件(注意:执行一次查询)); 5.SQL查询 ?条件栏的表示: 1)函数: 系统日期:=Date( )或=Now( ) 系统时间:=Time( ) 年、月、日:年:Year(date( )) 月:month(date( )) 日:data(date( ))

Left([字段名],N):Left([姓名],1)=“王” Right([字段名],N): Right([姓名],2)=“春枚” Mid([字段名],起始位置,[提取个数]);Mid([“qwert”,2,3)=”wer”. 通配符号: *代表任意连续的若干字符,?代表任意的一个字符。 条件内:Link”*王*”link”?李?”例:删除满足条件的记录。 Max(字段名称 ):Max(成绩): Min(字段名称):Min(成绩): Avg(字段名称):Avg(成绩): Sum(字段名称):Sum(成绩): Count(字段名称):Count(成绩): 2)表达式: 算术表达式:+,-,*,/。(date( )-1,year(date( )-1)) 关系表达式:>,>=,=,<,<=,<>。(>=12,=date( ) ) 逻辑表达式:And,Or,Not。(“男”Or“女”,>=1988-1-1, ) 非空:Is Not Null 空:Is Null 是否型字段的默认值:默认值:=-1或=true[=0或=False] 字符串连接运算符号:&. “asw” & ”ert” = ”asw ert”(也可用“+”号) “asw” + ”ert” = ”asw ert”

魔兽世界宏命令全表

宏命令全表 本文WOWWiki共享维护Subelf译 有些命令需要参数,而部分命令的参数则是可以省略的。比如/join可以接受两个参数,一个是可选的,另一个则是必需的,我们用/join <频道名称> [密码]来表示。也就是说“<>”中的是必需的,“[]”中的则是可选的。 一、基本命令 协助[单位],也就是选择[单位]的目标。如果没有指定[单位],当前目标将作为 为自己装备<物品>。 自动跟随[玩家]。如果没有指定[玩家],当前目标将作为参数。 掷骰子,获得一个[下限]到[上限]之间的随机数。如果只指定了一个参数值,那么范围就是从1到这个指定的值。如果没有给出任何参数,那么范围就是从1到100。如果你在小队或团队中,附近的队员可以看到你得到的随机数,范围和/say

显示服务器时间。 向[玩家]发起交易。如果没有指定[玩家],当前目标将作为参数。 定[搜索内容],那么会进行一个默认的搜索,并打开搜索对话框显示结果。 二、聊天命令 下面这些是用于玩家交流的命令,如果没有特别设定,聊天内容都是用当前的 表情的作用是向周围发送一个“玩家名<表情>”的信息,和/say类似。不过当敌对阵营玩家收到信息后只会显示“玩家名做了一些奇怪的动作”。 向战场团队频道发送[信息]。 说话,向周围发送<信息>,附近的玩家都可以收到。 仅向<玩家>发送<信息>。 三、在线状态 你“处在暂离状态”的自动回复。该回复也可以通过设置[信息]修改。

切换勿扰状态。玩家向你发送悄悄话时将在你名字左侧显示“勿扰”,并得到你“请勿打扰”的自动回复。该回复也可以通过设置[信息]修改。 四、好友列表 将[玩家]添加到忽略名单,如果没有指定[玩家],则将你的当前目标作为参数。 为参数。 为参数。 五、小队、团队命令 邀请[玩家]加入队伍,如果没有指定[玩家],则将你的当前目标作为参数。至 将[玩家]开除队伍,如果没有指定[玩家],则将你的当前目标作为参数。至少需要助理权限。 队长权限 向团队发送[警告信息],队员收到信息后将有警告音,并且屏幕中将会显示[警告信息]。至少需要助理权限。 向全团发送就位确认询问,所有队员需要在30秒内做“是”或“否”的选择。 之后将收到全团就位情况的统计结果。至少需要助理权限。 六、战利品分配

批处理命令格式

批处理命令格式.txt人永远不知道谁哪次不经意的跟你说了再见之后就真的再也不见了。一分钟有多长?这要看你是蹲在厕所里面,还是等在厕所外面……echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续 rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。 例1:用edit编辑a.bat文件,输入下列内容后存盘为c: a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。 批处理文件的内容为: 命令注释: @echo off 不显示后续命令行及当前命令行 dir c: *.* >a.txt 将c盘文件列表写入a.txt call c: ucdos ucdos.bat 调用ucdos echo 你好显示"你好" pause 暂停,等待按键继续 rem 准备运行wps 注释:准备运行wps cd ucdos 进入ucdos目录 wps 运行wps 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。 %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例2:C:根目录下有一批处理文件名为f.bat,内容为: @echo off format %1 如果执行C: >f a: 那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a: 例3:C:根目录下一批处理文件名为t.bat,内容为: @echo off type %1 type %2 那么运行C: >t a.txt b.txt %1 : 表示a.txt %2 : 表示b.txt 于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 特殊命令 if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批

c语言中目录及文件操作

1. 错误处理与错误号 cat /usr/include/asm-generic/errno-base.h #define EPERM 1 /* Operation not per mitted */ #define ENOENT 2 /* No suc h file or director y */ #define ESRCH 3 /* No suc h proc ess */ #define EINTR 4 /* Interrupted s y stem call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such dev ice or address */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Ex ec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No c hild process es */ #define EAGAIN 11 /* Try again */ #define ENOMEM 12 /* Out of memor y */ #define EACCES 13 /* Per mission denied */ #define EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Bl oc k dev ice required */ #define EBUSY 16 /* Dev ice or resource bus y */ #define EEXIST 17 /* File ex ists */ #define EXDEV 18 /* Cross-dev ice link */ #define ENODEV 19 /* N o suc h dev ice */ #define ENOTDIR 20 /* Not a direc tor y */ #define EISDIR 21 /* Is a director y */ #define EINVAL 22 /* Inv alid argument */ #define ENFILE 23 /* File table ov erflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a ty pewriter */ #define ETXTBSY 26 /* Text file bus y */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* N o space l eft on dev ic e */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-onl y file s y s tem */ #define EMLINK 31 /* T oo many link s */ #define EPIPE 32 /* Brok en pipe */ #define EDOM 33 /* Math argument out of domain of func */ #define ERANGE 34 /* M ath r esult not repres entabl e */ 1.1 用错误常数显示错误信息 函数strerror()可以把一个错误常数转换成一个错误提示语句。char *strerror(int errnum); #include #include #include int main()

WOW宏命令使用说明

1.常用的宏命令 1.1常用的宏命令 1.1.1.释放技能命令 ●/cast 释放一个或多个技能,可以加入一些条件判断,是最常用的命令 ●/castsequence 依次释放释放数个技能,同样可以加入一些条件判断,常见于所谓的"无脑宏" ●/use 使用一个物品,可以直接用物品名称也可以用物品栏位置 1.1. 2.动作命令 ●/cancelform 取消变形 ●/cancelaura 取消状态或增益 ●/startattack 开始攻击,一般写不写差别不大,释放技能会自动开始攻击的 ●/stopattack 停止攻击,与startattack相反,用于防止破除控制等功能,也不大会用到 ●/target /targetenemy 切换目标,用到的也不多,抓贼宏会用到,更多时候需要的反而是不切换目标的情况下对特定目标释放技能 ●/mount 召唤坐骑 ●/dismount 解散坐骑 1.1.3.语言表情命令 ●/1 /2 /3 /4 在不同的频道里面说话,1综合,2交易,3本地防务,4寻求组队

●/s /y /p /ra /bg 在不同的范围说话,s说,y喊,p小队,ra团队,bg战场 ●/e 做出一串表情,同时也可以/+内置表情 1.1.4.特殊命令 ●#showtooltip 显示技能描述,可以指定技能名或是缺省,让你的界面更有可读性●/focus 指定某个目标为焦点目标 ●/clearfocus 清除焦点目标 ●/stopmacro 停止宏,可加入条件判断 ●/console /script 控制命令,抓贼宏会用到 1.2常用的条件判断 1.2.1.目标条件判断 ●help noharm 目标为友方 ●harm nohelp 目标为敌方 ●exists 目标存在 ●dead nodead 目标死亡/存活 1.2.2.自身条件判断 ●stance:1/2/3/4/5/6 form:1/2/3/4/5/6 处在某形态中,对应为 野性:1熊,2水栖,3豹,4旅行,5飞行

WOW基本宏命令

一、基本宏命令 1.什么是宏? 宏是由一组宏命令组成的。以下是一些普通宏命令: ?/say (/s) ?/whisper(/w, /talk, /t) ?/emote(/e, /em, /me) ?/dance ?喜爱PVP的人,应该不会忘了这个:/spit 利用宏,我们可以把这些宏命令放到技能栏上点击使用,而且可以同时做多个动作。写宏 的时候,每条动作写在一行上,就像在聊天界面中输入的一样。比如,让你的角色喊一声 “Everybody, dance now!”然后开始跳舞的宏: /y Everybody, dance now! /dance 一个基本完整的宏命令列表可以参考这里:[《宏命令全表》],不过个别新添加的宏命 令还没有被收录。WoWWiki有很多关于宏的资料,尤其是脚本和/run命令(后面将会提到)。 注:我先在此说一下,宏的执行是立即进行的。这意味着当你点击技能栏上的一个宏时, 宏命令会一条接一条地执行,执行完后才会返回游戏控制。这将会产生两个重要问题:第 一,如果写了一个会执行很长时间的宏(如:/run for i=1, 1000000000 do end),游戏 会被卡死,直到它执行结束;第二,也是更重要的一点,那就是宏命令不可能具有延时功 能。这一现象在我们熟悉/cast之类的命令后就可以很清楚地感觉到。而一些提供了延时 执行命令功能的插件,只能是能执行一些所谓的“良性命令”,如交谈、表情和对于其他 插件命令的调用(不过战斗中更换武器是可以进行的)。 2.怎样写宏? 首先,打开你的宏窗口:单击主菜单上的“宏”按钮,或者在聊天界面中输入/macro(/m)回车。在宏窗口的顶端,可以看见两个标签:“通用宏”和“<你的角色名>的专用宏”。通用宏被存储在账号专有的文件夹中,被所有角色共享。而角色专用宏则存储在角色自己的文件夹下,是角色专用的(废话……囧)。在标签下面是18个存放宏的栏位。再往下是一个栏位,用于显示当前选中的宏;还有一个“修改名称/图标”的按钮,用于修改选中的宏。然后是一个用于显示、编辑当前宏的文本框。最下面是三个按钮,傻子也能看出它们是干什么的。 如果要创建一个宏,首先单击窗口下方的“新建”按钮,这时窗口旁边会显示一个对话框,用于选择图标和输入宏的名称。如果选择了第一个图标(就是那个很红很暴力的问号),WoW会自

相关文档
最新文档