ppt 解决幻灯片打印讲义从页码1开始的方法

Posted by 风中客 @ 1:49 pm, 11月 26th, 2007

相信很多朋友在打印ppt时都遇到过,打印讲义只能从页码1开始,有时有好几个幻灯片打印,希望页码顺序能够相连;或者打印一套幻灯片的时候,中间卡纸了,在重新打印的时候,出来的页面还是页码1。
找遍了网上相关的解决方法,很多人都提出这个问题,但是真正解决的还没有。
下面就列出一个利用VBA宏的方法来搞定他吧

1. 在 工具 菜单上, 指向 宏 , 然后单击 " VisualBasic 编辑器 。
2. 在 插入 菜单上, 单击 模块 。
3. 模块中键入如下代码:
Sub HandoutNumber()   Dim i As Long   Dim lStart As Long   Dim lStop As Long   Dim lHandoutKind As Long   Dim lSlide As Long   Dim lSlideEnd As Long   Dim ppHandoutKind As PpPrintOutputType   Dim vbConfirm As VbMsgBoxResult   '   ' Ask the user which slide to start printing handouts from.   '   lSlide = InputBox("Start handouts at what slide number?", _         "Starting Slide", "1")   '   ' Ask the user which page number to start at.   '   lStart = InputBox("Start the page number for handouts at: ", _         "Restart Handout Page Numbers", "1")   '   ' Ask the user how many slides per page they want to print.   '   lHandoutKind = InputBox("How many slides per handout page?" & _         vbNewLine & "2, 3, 4, 6, 9?", "Handout Type", "4")   '   ' Use a case statement to set the handout type and the number of   ' slides per page. If the user types in a number other than 2,3,   ' 4,6, or 9, round up to the nearest handout layout size. If the   ' number is greater than 9, make it the 9-up layout and set   ' the slides per page to 9.   '   Select Case lHandoutKind      Case 1, 2         ppHandoutKind = ppPrintOutputTwoSlideHandouts         lHandoutKind = 2      Case 3         ppHandoutKind = ppPrintOutputThreeSlideHandouts         lHandoutKind = 3      Case 4         ppHandoutKind = ppPrintOutputFourSlideHandouts         lHandoutKind = 4      Case 5, 6         ppHandoutKind = ppPrintOutputSixSlideHandouts         lHandoutKind = 6      Case Else         ppHandoutKind = ppPrintOutputNineSlideHandouts         lHandoutKind = 9   End Select   '   ' Confirm the settings.   '   vbConfirm = MsgBox("You have chosen to print " & lHandoutKind & _         "-up handouts, starting at page " & lStart & vbNewLine & _         " and slide number " & lSlide & ".", vbOKCancel)   '   ' If the result is OK, print the range.   '   If vbConfirm = vbOK Then   '   ' Calculate the number of pages that have to be printed. Then, test to   ' make sure that number of pages are correct. The Round function rounds   ' to the nearest whole number, therefore if you have 10 slides to print on a   ' 9-up handout, lStop first is set to 1, because 10/9 = 1.1111 rounded   ' to 1.   ' The MOD operator returns a remainder if there are not enough slides   ' to fill a page. If the remainder is less than or equal to one half of   ' the layout size.   '      lStop = Round((ActivePresentation.Slides.Count - (lSlide - 1)) _            / lHandoutKind)      If Round((ActivePresentation.Slides.Count - (lSlide - 1)) Mod _            lHandoutKind) <= (lHandoutKind / 2) Then         lStop = lStop + 1      End If   '   ' From 1 to the number of pages, loop until all the pages are printed.   '      For i = 1 To lStop   '   ' On the notes master, set the automatic page numbers to False; then   ' insert the starting page number that the user wants. Increment the   ' page number by one.   ' This code assumes that object 4 on the handouts master is the page   ' number footer on the handouts master page.   '         ActivePresentation.NotesMaster.HeadersFooters.SlideNumber _               .Visible = msoFalse         ActivePresentation.HandoutMaster.Shapes(4).TextFrame _               .TextRange.Text = lStart         lStart = lStart + 1   '   ' Set the printer options and print the handouts.   '         With ActivePresentation.PrintOptions   '   ' Set the print range type to a slide range.   '            .RangeType = ppPrintSlideRange            With .Ranges   '   ' Clear any previous ranges that were set.   '               .ClearAll   '   ' Set the slide range to print based on the number of slides per page.   '               lSlideEnd = lSlide + lHandoutKind - 1   '   ' If the starting slide is greater than the number of slides in the   ' presentation, set the value equal to that number.   ' Perform the same test for lSlideEnd, to make sure the slide range   ' does not exceed the number of slides in the presentation.   '               If lSlide > ActivePresentation.Slides.Count Then                  lSlide = ActivePresentation.Slides.Count               End If               If lSlideEnd > ActivePresentation.Slides.Count Then                  lSlideEnd = ActivePresentation.Slides.Count               End If               .Add Start:=lSlide, End:=lSlideEnd               lSlide = lSlide + lHandoutKind            End With   '   ' Set number of copies to 1.   '            .NumberOfCopies = 1   '   ' Set the page output to the handout layout the user has chosen.   '            .OutputType = ppHandoutKind   '   ' Set the slide positioning to columns. You can also use   ' ppPrintHandoutHorizontalFirst to set the slides in rows.   '            .HandoutOrder = ppPrintHandoutVerticalFirst         End With   '   ' Print the single page by using the chosen settings.   '         ActivePresentation.PrintOut      Next i   End If   '   ' Reset the handout master page to use automatic page numbers,   ' and clear any text from the frame.   '   ActivePresentation.HandoutMaster.Shapes(4).TextFrame _         .TextRange.Text = ""   ActivePresentation.NotesMaster.HeadersFooters.SlideNumber _         .Visible = msoTrueEnd Sub

PPT2DOC 幻灯片文字提取程序

Posted by 风中客 @ 11:21 pm, 09月 9th, 2006

 PPT2DOC 幻灯片文字提取程序

       最近在网上发现这么一个小工具,可以把PPT中的文字、也包括部分表格、图片统统提取到一个Word文档中,但是还是需要人工修改一下下。速度蛮快!

       大家搜索一下吧!Google上可以找到。我就不发了 

用Excel函数计算年龄几法!

Posted by 风中客 @ 1:04 pm, 01月 13th, 2006

用Excel函数计算年龄几法!

用Excel函数计算年龄几法  

    在Excel中利用系统时间和出生年月计算年龄是人事管理、工资统计中经常性遇到的工作,笔者由于工作关系对此有些研究,现将有关计算方法介绍如下,供读者朋友们参考:
    一、利用DAYS360、CEILING和TRUNC函数
    1.函数简介
    ①DAYS360函数
    它能按每年360天(每月30天)计算出两个日期间的天数,作为计算工龄的工具非常方便。它的语法为:
    DAYS360(Start_date,end_date,method)
    其中,Start_date是计算时间段的起始日期,end_date是计算时间段的结束日期,method用来指定计算方法的逻辑值(取FALSE或忽略使用美国方法,取TRUE则使用欧洲方法)。
    另外,不同地方计算工龄的规则不尽相同。有的按“虚工龄”计算,如1998年6月1日至2000年12月31日工龄为3年;而有的则按“实工龄”计算,1998年6月1日至2000年12月31日工龄为2年;对此可使用CEILING函数或TRUNC函数处理。
    ②CEILING函数
    它的语法为:
    CEILING(number,significance)
    其中number为待计算的数值,significance确定取整计算的倍数;该函数可将number沿着绝对值增大的方向,计算出一个最接近(或最小倍数significance)的整数。
    ③TRUNC函数
    它的作用是将数字的指定部分截去,计算出一个最接近的整数或小数,语法为:
    TRUNC(number,num_digits)
    其中number为待计算的数值,num_digits用于指定小数部分的截取精度,取0时不保留小数、取1时保留一位小数(依次类推)。
    2.计算公式
    ①“虚工龄”
    根据计算要求和有关函数的特点,计算“虚工龄”的公式为:“=CEILING((DAYS360(A1,B1))/360,1)”。公式中的A1和B1分别存放工龄的起止日期,“DAYS360(A1,B1)”计算两个日期间的天数,(DAYS360(A1,B1))/360则按一年360天计算出工龄。由于工龄一般以年为单位,故用CEILING函数将上面的计算结果(沿绝对值增大的方向)取整,从而得出“虚工龄”。
    ②“实工龄”
    计算“实工龄”的公式为:“=TRUNC((DAYS360(A1,B1))/360,0)”,公式中计算工龄天数的方法与上面的相同。TRUNC函数将(DAYS360(A1,B1))/360的计算结果截去小数部分,从而得出“实工龄”。如果计算结果需要保留一位小数,只须将公式修改为“=TRUNC((DAYS360(A1,B1))/360,1)”即可。
    二、YEAR和RIGHT函数
    1.函数简介
    ①YEAR函数
    它可以计算出日期序列数(如两个日期相减的结果)所对应的年份数,其语法为:YEAR(Serial_ number),其中Serial_
    number为待计算的日期序列数,既可以是一个具体的数值,也可以是一个表达式。
    ②RIGHT函数
    该函数用来提取字符串最右边的若干个字符,因为YEAR函数的计算结果带有19等字样,必须利用RIGHT函数将它过滤掉。该函数的语法为:RIGHT(Text,Num_chars),其中Text是待计算的字符串,Num_chars用来指定从右向左提取的字符串长度(忽略时取1),例如“=RIGHT(“电脑爱好者”,3)”的计算结果为“爱好者”。
    2.计算公式
    由于YEAR和RIGHT函数的特点,它们组成的公式只能计算“实工龄”,具体形式为“=RIGHT(YEAR(A1-B1),2)”。公式中的A1和B1分别存放工龄的截止和起始日期(正好与DAYS360函数相反),“YEAR(A1-B1)”计算出两个日期间的年份数,RIGHT(YEAR(A1-B1),2)则通过自右向左提取年份的后两位(工龄一般都是一位或两位数)。计算出来的一位数工龄前有个“0”,与习惯不太相符,这是上述公式的缺点。
    三、N和INT函数
    1.函数简介
    ①N函数
    N函数属于信息函数之列,它可以完成单元格对象的转换。就是将数值转换成数字,日期转换成序列值,TRUE转换成1,其它对象转换成0。其语法为:N(value),其中的value是待转换的单元格对象,它可以是数值、日期等数据,也可以是一个表达式。
    ②INT函数
    该函数可以将一个数值向下取整为最接近的整数。语法为:INT(number),其中number是待取整的一个实数或表达式,用它将计算结果取整为“实工龄”非常方便。
    2.计算公式
    由于INT函数的固有特点,用N和INT函数构成的公式只能计算“实工龄”,具体形式为“=INT((N(A1-B1))/365)”。公式中的A1和B1分别存放工龄的截止和起始日期,“N(A1-B1)”计算工龄的序列数(其实就是工龄的天数),(N(A1-B1))/365将N(A1-B1)的计算结果转换为工龄,由于工龄数一般是小数,于是通过INT函数将它向下取最接近的整数。

利用Excel进行医学统计t检验分析

Posted by 风中客 @ 9:32 pm, 12月 18th, 2004

利用Excel进行医学统计t检验分析

  在科学研究中,经常要对收集到的数据进行各种统计分析,而分析数据时,大多使用较著名的统计分析软件包,如SAS,SPSS等。这些统计分析软件包功能强大,不仅能单变量分析,而且可做各种复杂的多变量分析。然而,在对数据进行处理时,大多是使用简单统计描述,画各种统计图表,或者进行t检验、方差分析、相关分析及回归分析。作这些统计分析时,大多可使用Windows95下的Excel 97。Excel是一种使用极方便的电子表格软件,它有强大的数据管理功能,能制作各种统计图表,具有丰富的财会和统计函数,并且Excel在“分析工具库”中,提供了一组数据分析工具。使用这些分析工具时,只需指出数据所在的单元格和提供必要的参数,该工具就会使用适宜的统计或工程函数,对数据做处理,给出相应的结果。有些工具在输出时还能产生图表。
  单击“工具”菜单中的“数据分析”命令可以浏览已有的分析工具。如果在“工具”菜单上没有“数据分析”命令,应在“工具”菜单上运行“加载宏”命令,在“加载宏”对话框中选择“分析工具库”。
  在进行两个样本均值相等假设分析时,可使用t-检验分析,根据情况选择:成对双样本均值分析、双样本等方差假设分析和双样本异方差假设分析。

利用Excel进行医学统计t检验分析

  在科学研究中,经常要对收集到的数据进行各种统计分析,而分析数据时,大多使用较著名的统计分析软件包,如SAS,SPSS等。这些统计分析软件包功能强大,不仅能单变量分析,而且可做各种复杂的多变量分析。然而,在对数据进行处理时,大多是使用简单统计描述,画各种统计图表,或者进行t检验、方差分析、相关分析及回归分析。作这些统计分析时,大多可使用Windows95下的Excel 97。Excel是一种使用极方便的电子表格软件,它有强大的数据管理功能,能制作各种统计图表,具有丰富的财会和统计函数,并且Excel在“分析工具库”中,提供了一组数据分析工具。使用这些分析工具时,只需指出数据所在的单元格和提供必要的参数,该工具就会使用适宜的统计或工程函数,对数据做处理,给出相应的结果。有些工具在输出时还能产生图表。
  单击“工具”菜单中的“数据分析”命令可以浏览已有的分析工具。如果在“工具”菜单上没有“数据分析”命令,应在“工具”菜单上运行“加载宏”命令,在“加载宏”对话框中选择“分析工具库”。
  在进行两个样本均值相等假设分析时,可使用t-检验分析,根据情况选择:成对双样本均值分析、双样本等方差假设分析和双样本异方差假设分析。

  在科学研究中,经常要对收集到的数据进行各种统计分析,而分析数据时,大多使用较著名的统计分析软件包,如SAS,SPSS等。这些统计分析软件包功能强大,不仅能单变量分析,而且可做各种复杂的多变量分析。然而,在对数据进行处理时,大多是使用简单统计描述,画各种统计图表,或者进行t检验、方差分析、相关分析及回归分析。作这些统计分析时,大多可使用Windows95下的Excel 97。Excel是一种使用极方便的电子表格软件,它有强大的数据管理功能,能制作各种统计图表,具有丰富的财会和统计函数,并且Excel在“分析工具库”中,提供了一组数据分析工具。使用这些分析工具时,只需指出数据所在的单元格和提供必要的参数,该工具就会使用适宜的统计或工程函数,对数据做处理,给出相应的结果。有些工具在输出时还能产生图表。
  单击“工具”菜单中的“数据分析”命令可以浏览已有的分析工具。如果在“工具”菜单上没有“数据分析”命令,应在“工具”菜单上运行“加载宏”命令,在“加载宏”对话框中选择“分析工具库”。
  在进行两个样本均值相等假设分析时,可使用t-检验分析,根据情况选择:成对双样本均值分析、双样本等方差假设分析和双样本异方差假设分析。

1.t-检验:成对双样本均值分析

  当样本中的观察值存在配对关系时,可以使用“成对双样本t-检验”。例如对一个样本组在实验前后进行了两次检测,为确定实验前后样本均值是否相等,应使用成对t检验,此t-检验并不假设两个总体的方差是相等的。
  例如,用克矽平治疗矽肺患者10名,治疗前后血红蛋白含量如下:
治疗前 113 150 150 135 128 100 110 120 130 123
治疗后 140 138 140 135 135 120 147 114 138 120
  在工作表中输入上面的数据,比如数据区为A1至K2
  分析时,在“工具”菜单中,单击“数据分析”命令。在数据分析对话框中,选择t-检验:成对双样本均值分析,拉出成对双样本均值分析对话框,其中有如下输入项(其他分析工具对话框内容和用法与之相似):
  变量1的区域:输入需要分析的第一个数据区域的单元格引用。该区域必须由单列或单行数据组成。可单击输入框右面的按钮,回到电子表格上自数据开始的单元格向结尾的单元格拖动。此时变量1的区域(A1
.K1)自动进入输入域中。然后单击输入域右面的按钮,回到原对话框。
  变量2的区域:输入需要分析的第二个数据区域的单元格引用。该区域必须由单列或单行的数据组成。输入方法同前。变量2的区域为(A2
.K2)。
  假设平均差:在此输入期望中的样本均值的差值。缺省为0值,即假设样本均值相同。
  标志:如果输入区域的第一行或第一列中包含有标志项,应选中此项:如果输入区域没有标志项,Excel将在输出表中生成适宜的数据标志。这里选中此项。
  Alpha(α):在此输入检验的统计意义水平。该值范围为0~1之间。缺省为0.05。
  输出区域信息可选择如下单选项:
  输出区域:在此输入对输出表左上角单元格的引用。Excel会自动确定输出区域的大小并显示信息。可单击输入框右面的按钮,回到电子表格上,单击输出开始的单元格(如A3),然后再单击输入框右面的按钮,回到原对话框。
  新工作表:可在当前工作簿中插入新工作表,并由表的 A3单元格开始粘贴计算结果。新工作簿:选此项,可创建一新工作簿,并在新工作簿的新工作表中粘贴计算结果。填完各项内容后,按“确定”按钮,即可在输出区域给出输出结果(表1)。

表1 成对双样本均值t检验分析结果

表1 成对双样本均值t检验分析结果

  治疗前 治疗后
平均 125.9 132.7
方差 266.54 116.68
观测值 10 10
泊松相关系数 0.3186  
假设平均差

0

 
df

9

 
t State -1.307  
P(T≤t)单尾 0.1119  
t单尾临界 1.8331  
P(T≤t)双尾 0.2237  
t双尾临界 2.2622  
  结论:因为P>0.05,故治疗前后血红蛋白均值差异无统计意义。

2.F-检验:双样本方差分析

  此分析工具可以进行双样本F-检验,又称为方差齐性检验,用来比较两个样本总体的方差是否相等。例如,测得老年慢性支气管炎患者与健康人尿中17酮类固醇排出量如下。比较两组均数,进行F-检验,查看二者的样本方差是否相同。
  患者 2.9 5.41 5.48 4.6 4.03 5.1 5.92 4.97 4.24 4.36 2.72 2.37 2.09 7.1
健康 5.18 8.79 3.14 6.46 3.72 6.64 4.01 5.6 4.57 7.71 4.99
  在工作表中输入上面的数据。
  分析时,在“工具”菜单中,单击“数据分析”命令。在数据分析对话框中,选择F检验,其他操作同成对t检验,给出如下结果(表2):

表2 双样本方差分析结果

  健  康 患  者
平均

5.544545

4.377857

方差 3.048107 2.102187
观测值 11 14
df 10 13
F 1.449969  
P(F≤f)单尾

0.2609

 
F单尾临界 2.671023  
3.“t-检验:双样本等方差假设”分析

  此分析工具可以进行双样本t-检验。此t-检验先假设两个数据集的平均值相等。双样本等方差假设对话框与“成对双样本均值分析”对话框和用法几乎相同。
  由于上面的数据经F检验知两总体的方差相等,故可做t检验,操作方法同“成对双样本均值分析”,得到如下输出:

表3 双样本等方差t检验分析结果

表3 双样本等方差t检验分析结果

  患  者 健  康
平均 4.377857143 5.528181818
方差 2.102187363 3.011616364
观测值 14 11
合并方差 2.497591276  
假设平均差

0

 
df

23

 
t State

-1.80655051

 
P(T≤t)单尾

0.041967528

 
t 单尾临界

1.713870006

 
P(T≤t)双尾 0.083935057  
t 双尾临界

2.068654794

 
  因P>0.05,故两样本均值差异无统计意义。

4.“t-检验:双样本异方差假设”分析

  此分析工具应用于两个数据集的方差不等时,也称作t′检验。使用方法与前面相同,不再赘述。

参考文献

  1.金丕焕.医用统计方法.第1版.上海:上海医科大学出版社,1995,38.
  2.董大钧.SAS统计分析.第1版.沈阳:辽宁科技出版社,1995.
  3.郭祖超.医用数理统计方法.第3版.北京:人民卫生出版社,1988,106