ap112 发表于 2014-8-28 15:21:53

[已解决]EXCEL 操作

本帖最后由 ap112 于 2014-9-1 10:15 编辑

现在的EXCEL可以另存为PDF


是不是AU3不支持呀

有什么其他的办法把EXCEL直接转换成PDF吗

header 发表于 2014-8-28 18:45:17

你找来最新的excel udf试下,转pdf可以用pdf虚拟打印机

h20040606 发表于 2014-8-28 21:30:04

可以啊。参考一下Worksheet.ExportAsFixedFormat 方法

h20040606 发表于 2014-8-28 21:31:04

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      "C:\Documents and Settings\Administrator\桌面\测试_201408.pdf", _
      Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=True

kevinch 发表于 2014-8-28 21:39:38

with $oexcel.activesheet
    .exportasfixedformat(0,@scriptdir&"\"&.name&".pdf")
endwith这样试下

xjlijia 发表于 2014-8-29 11:07:48

受教了,谢谢诸位了。

ap112 发表于 2014-8-29 14:37:44

回复 5# kevinch


谢谢!很好!受教

ap112 发表于 2015-3-10 10:29:16

回复 5# kevinch


    大师 问一下 有时间帮写个代码
要求 :
1、新建一个word,在word中插入图片
2、一页里面添加一张照片,有多少张照片word就有多少页
3、然后保存word到桌面


1、3有函数2 呢?????????

kevinch 发表于 2015-3-10 19:16:22

回复 8# ap112 $path="D:\Pictures\"
$word=ObjCreate("word.application")
$word.visible=True
$doc=$word.documents.add
$search=FileFindFirstFile($path&"*.jpg")
If $search<>-1 Then
        $n=0
        While 1
                $pic=FileFindNextFile($search)
                If @error Or StringLen($pic)=0 Then ExitLoop
                $n+=1
                If $n>1 Then $doc.application.selection.insertbreak(7)
                $doc.application.selection.inlineshapes.addpicture($path&$pic,False,True)
                $doc.application.selection.endkey(6)
        WEnd
        FileClose($search)
EndIf
$doc.saveas(@DesktopDir&"\test.doc")
$doc.close
$word.quit用这个试下

ap112 发表于 2015-3-11 08:47:39

回复 9# kevinch


    这个是可以的,只是照片过大显示不全,将照片改一下就可以了。还有中间几行主要的代码,是VBA操作吧?给个注释呗!

ap112 发表于 2015-3-11 09:08:51

回复 9# kevinch


    可以设置一下页边距,让图片尽量尽量盖全页面

kevinch 发表于 2015-3-12 19:29:38

回复 11# ap112 $path="D:\Pictures\"
$word=ObjCreate("word.application")
$word.visible=True
$doc=$word.documents.add
With $doc.pagesetup;页面设置,页边距1cm,需转换成磅数,乘28.35
        .leftmargin=1*28.35
        .rightmargin=1*28.35
        .topmargin=1*28.35
        .bottommargin=1*28.35
EndWith
$search=FileFindFirstFile($path&"*.jpg")
If $search<>-1 Then
        $n=0
        While 1
                $pic=FileFindNextFile($search)
                If @error Or StringLen($pic)=0 Then ExitLoop
                $n+=1
                If $n>1 Then $doc.application.selection.insertbreak(7);如果不是第一张图,插入分页符
                $pic=$doc.application.selection.inlineshapes.addpicture($path&$pic,False,True);插入图片
                With $pic
                        .lockaspectratio=True;锁定图片纵横比,防止调整大小时图片变形
                        If .width>$doc.pagesetup.pagewidth Or .height>$doc.pagesetup.pageheight Then   ;判断图片大小是否大于页面大小
                                If .width/$doc.pagesetup.pagewidth>.height/$doc.pagesetup.pageheight Then;判断图片长宽比谁超出更大,以最大比例方向缩小到页面大小
                                        .width=$doc.pagesetup.pagewidth
                                Else
                                        .height=$doc.pagesetup.pageheight
                                EndIf
                        EndIf
                        .range.ParagraphFormat.Alignment=1;图片在页面内居中
                EndWith
                $doc.application.selection.endkey(6);跳转到最末尾
        WEnd
        FileClose($search)
EndIf
$doc.saveas(@DesktopDir&"\test.doc")
$doc.close
$word.quit

godwin_z 发表于 2015-3-17 23:06:51

这里面还是有很多东西的,很强大

gwgelin 发表于 2015-4-13 20:23:24

支持楼主,这贴必须得顶

macran 发表于 2015-4-14 23:15:48

_Excel_Export
页: [1] 2
查看完整版本: [已解决]EXCEL 操作