1

Konu: Exceli Pdf Yapmak

Office 2010 da Farklı kaydet bölümünde kayıt türü seçeneğinde pdf var. Ancak kodlarla program içinden mevcut excel dosyasını nasıl pdf yapabilirim?

2

Re: Exceli Pdf Yapmak

http://www.fox4um.com/search/1665353809/

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

3

Re: Exceli Pdf Yapmak

Soykan bey, Forumda aradım ama bulamadım. Varsa bile ben bulamadım herhalde.

4

Re: Exceli Pdf Yapmak

Bukadar basit bir soruya kimsenin cevap vermemesi düşündürücü.
Bu soruya cevap verebilecek en az 10 forum üyesini tanıyorum.

Sanırım hepsi tatildeler.
Ben? Ben maalesef bu sene tatile çıkamiyorum: çok iş, az para sad

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

5

Re: Exceli Pdf Yapmak

Mehmet, bu senden kaynaklanıyor olmasın.("Çok iş az para")

Bence piyasayı düşürüyosun.

Tamam gençsin anladık ama yine de yaşlanabileceğini düşün ve ona göre fiyat ver derim.

Sevgilerimle,

6

Re: Exceli Pdf Yapmak

smentes yazdı:

Soykan bey, Forumda aradım ama bulamadım. Varsa bile ben bulamadım herhalde.

linki vermistim ama hatali imis ozur:) dogru link http://www.fox4um.com/topic/1770/foxypreviewer-195/

ve o thread te gecen vermis oldugum ornek aslinda aradigin degil FRX ten PDF yapiyor...

bu noktada aklima su geliyor office otomasyon kodlari kullanmak ve olusan xls dosyasini SaveAs ile PDF olarak kaydetmek nasil dersen ilk aklima gelen office2010 veya 2013 ile xls dosyasini ac makro kaydi yap ve save as kodlarini al bundan sonraki adim VFP uzerinden dosyayi ekranda goruntulemeden az onceki bahsettigim makro kolari ile pdf e donusturmek . ornek bulursam buradan paylasacagim


Visual Fox Pro
SET PROCEDURE TO LOCFILE("FoxyPreviewer.App") ADDITIVE 

LOCAL loReport as "PreviewHelper" OF "FoxyPreviewer.App"
loReport = CREATEOBJECT("PreviewHelper")
WITH loReport as ReportHelper
        .AddReport(_Samples + "\Solution\Reports\percent.frx", "NODIALOG")  && FRX dosyan
        .cDestFile = "c:\Test.pdf"  && Use to create an output without previewing  "c:\Test.JPG" "c:\Test.TIFF"
        .RunReport()
ENDWITH
loReport = NULL
RUN /N Explorer.Exe c:\Test.pdf
http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

7

Re: Exceli Pdf Yapmak

sanirim bu isini gorur smile

Visual Fox Pro
=Xls2Pdf("d:\pdftest.xls")

 
Function Xls2Pdf
Lparameters tcXlsFileWithPath
Local oExcel,loDoc,cPdfFileName
m.cPdfFileName = Forcepath(Juststem(m.tcXlsFileWithPath)+".pdf",Justpath(m.tcXlsFileWithPath))
 
#Define xlTypePDF 0
oExcel=Createobject("Excel.Application")
loDoc=oExcel.Workbooks.Open(m.tcXlsFileWithPath)
Try
    WAIT WINDOW "PDF dosyasi yaratiliyor..." NOWAIT
    oExcel.activeSheet.ExportAsFixedFormat(xlTypePDF, m.cPdfFileName)
    WAIT CLEAR
Catch
    oExcel = Null
Endtry
 
loDoc.Close()
oExcel.Quit()

ayrica asagidaki kodla sistemde excel yuklu olup olmadigini kontrol edebilirsin

Visual Fox Pro
Function isExcel

    oExcel = Createobject("Excel.Application")
    If Vartype(oExcel) != "O"
        * could not instantiate Excel object
        * show an error message here
        Messagebox('MS Excel Sisteminizde Yüklü Değil !',16,'Excel Hatası')
        Return .F.
    Endif
Endif

buda Excel versiyon kontrolu

Visual Fox Pro
Function getExcelVersion()

    *!* usage : m.cXlsVer = getExcelVersion()
    Local oExcel As "excel.application",cExcelVersion
    oExcel = Createobject('Excel.Application')
    With oExcel
        oWorkbook = .WorkBooks.Add()
        .Visible = .F.
        Do Case
            Case .Application.Version = "15.0"
                *-Messagebox("You are using Excel 2013.")
            Case .Application.Version = "14.0"
                *-Messagebox("You are using Excel 2010.")
            Case .Application.Version = "12.0"
                *-Messagebox("You are using Excel 2007.")
            Case .Application.Version = "11.0"
                *-Messagebox("You are using Excel 2003.")
            Case Application.Version = "10.0"
                *-Messagebox("You are using Excel 2002.")
            Case .Application.Version = "9.0"
                *-Messagebox("You are using Excel 2000.")
            Case .Application.Version = "8.0"
                *-Messagebox("You are using Excel 97.")
            Case .Application.Version = "7.0"
                *-Messagebox("You are using Excel 95.")
        Endcase
        m.cExcelVersion = .Application.Version
    Endwith
 
    oExcel.Quit()
    oExcel = .Null.
    Release oExcel
 
    Return m.cExcelVersion
Endfunc

benden bu kadar smile

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

8

Re: Exceli Pdf Yapmak

bu ornekte ihtiyaci olanlar icin yazdirilabilir tum dosyalari PDF printer sayesinde PDF e donusturur

Visual Fox Pro
**Acrobat pdfWriter,bullzip vs  , Devices And Printers da gorunen isim

lcPDFPrinter="Bullzip PDF Printer"     
lcOldPrinter=Set("PRINTER",2)     
Set Printer To Name(lcPDFPrinter) 
afile=Getfile('*.*|frx|doc|htm|html|xls|rtf|ppt|pps|txt|prg|jpg|bmp|png|tif|gif')
If Not Empty(afile)
    Declare Integer ShellExecute In shell32.Dll ;
        INTEGER hndWin, String cAction, String cFileName, ;
        STRING cParams, String cDir, Integer nShowWin
    ShellExecute(0,"open",afile,"","",1)
    Inkey(5)
    oShell = Createobject("Wscript.Shell")
    oShell.SendKeys("^{p}")   
Endif
http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpg

9

Re: Exceli Pdf Yapmak

Soykan bey çok teşekkürler.

10

Re: Exceli Pdf Yapmak

NOT:
PDF olarak kaydetme seçeneği Office 2007'de SP-3 güncellemesi ile de aktif olmakta. Office 2010 ve üzeri olması önemli değil.

Ancak Office 2007'de SP-3 yüklü değil ise hata ile karşılaşılıyor. Onun kontrolü nasıl yapılır hiç bakmadım.
Yapacağınız programda belki bu kontrolü de yapmanız gerekebilir.

11

Re: Exceli Pdf Yapmak

Ali Bey,
Soykan Beyin kodu ile oluşturabiliyorum. Ofisi açmadan kodla yapmam gerekiyor.
Ancak bir problemim var. Excel Dosyam 3 sayfadan oluşuyor. Pdf yaptığımda açık olan sayfa hangisi ise onu pdf ye dönüştürüyor. Tüm sayfaları pdf ye nasıl dönüştürebilirim?

12 Son düzenleyen, ugurlu2001 (18.09.2014 09:13:28)

Re: Exceli Pdf Yapmak

Excel de aktif sayfayı değiştirebiliyorsun :

Visual Fox Pro
loExcel.Sheets("Sheet2").Select

Döngü içerisinde her bir sayfa için PDF ye çevirme işlemini yapabilirsin.

Yada bana daha kolay gelen bir yöntemle; hiç excel e bulaşmadan (amacının sadece PDF çıktısı olduğunu varsayıyorum) rapor dosyanı (FRX) doğrudan PDF ye çevirebilirsin. Tek yapman gereken FoxyPreviewer ı kullanmak.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

13

Re: Exceli Pdf Yapmak

Benim istediğim birden fazla excel sayfasını tek bir pdf yapmak. Ya da mevcut excel dosyasını (mevcut sayfalarıyla birlikte) tek bir pdf dosyası olarak kaydetmek

14

Re: Exceli Pdf Yapmak

Çok soru soruyorsam lütfen affedin. Foxypreviewer ile veya başka bir yolla (belki foxypreviewer bu iş için uygun çözüm değildir) bir klasördeki tüm doc, docx, xls, xlsx dosyalarını PDF nasıl yaparım ?
Herhangi bir word dökümanını ekranda açıp göstermeden arka planda PDF olarak kaydetmeye yönelik örnek varsa  tüm klasördeki diğer dosyalara uygulamasını yapabilirim.

15

Re: Exceli Pdf Yapmak

Saygıdeğer üstadlarım aşağıdaki şekilde hallettim.

Visual Fox Pro
ow = CREATEOBJECT("word.application")

owd = ow.Documents.Open("f:\test.docx")
owd.SaveAs("f:\test.pdf",17)
owd.Close()
owd = null
ow = null

16

Re: Exceli Pdf Yapmak

Comez sadece bir animsatma: Programi calistirdigin bilgisayarda MS Office in x86 olarak yuklu olmasi gerekiyor. Yoksa 64 bit Office yuklu bilgisayarlarda calismaz. Office kurulumunda ozellikle X86 setup i ile yukleme yapman gerekiyor.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

17

Re: Exceli Pdf Yapmak

İkaz için çok teşekkürler, sadece kendi bilgisayarım için gerekiyordu, genele yazılmış bir yazılım değildi, sorun olmadı.