Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Excel Export PDF
#1
Merhaba Arkadaşlar;

Windows tarafında çalışan programda arka planda excel açılıyor ve veri yazıp aynı dosyanın üzerine kaydediliyor.
Yapmak istediğim ise; ilgili excel dosyasını Excel'in özelliğini kullanarak PDF olarak kaydetmek.

Aşağıdaki kod parçası ile bunu yapmaya çalıştığımda 'method exportasfixedformat not supported by automation object' bu yöntemin desteklenmediği hatasını alıyorum. Biraz araştırdığımda Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol çözüm ile yapılabileceği anlatılıyor bilgisayarda herhangi bir ayar yapmadan bu işlem yapmak istiyorum. Bu konuda daha önce Excelden PDF kaydeden var mı acaba.

Kod:
   Excel.ExportAsFixedFormat(0, EmptyParam, EmptyParam, EmptyParam,
   EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

Teşekkürler.
Cevapla
#2
merhaba, delphi hangi versiyonu kullanıyorsun ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#3
(07-09-2016, Saat: 08:49)erdogan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olmerhaba, delphi hangi versiyonu kullanıyorsun ?

Merhaba;
Delphi = XE10.1
Office  = 2016
Cevapla
#4
merhaba, delphi hangi versiyonu kullanıyorsun ?

Aşağıdaki bileşeni incele bir çok formatta kayıt yapabiliyorsun pdf, jpg, html, vs.vs.

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#5
Merhaba, 
Vermiş olduğunuz linkte Windows/Microsoft Office DCOM olayları anlatılıyor. PDF konusunda bir açıklama göremedim. 
Fakat asıl amacınız, Excel belgesinin PDF dosyası gibi değiştirilememesi ise Excel'i korumaya alabilirsiniz.

Örneğin; 

ExcelApp.ActiveSheet.Protect(Password:='şifrem', DrawingObjects:=True, Contents:=True, Scenarios:=True);

Excel Koruma Görünümü hakkında daha detaylı bilgiyi Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol'den alabilirsiniz.

Ben bir çok uygulamamda PDF export için FastReport, Devexpress gibi harici bileşenler kullanıyorum.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Birincisi; Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol yazdığına göre ExportAsFixedFormat komutu Office 2007 ile birlikte gelmiş. 
İkincisi; yine aynı sayfaya göre fonksiyonun ilk parametresi type(xlTypePDF yada xlTypeXPS), ikincisi dosya ismi olmalı.
Üçüncüsü; bu komut Excel'in bir Sheet'ine uygulanmalı. Sanırım siz direk Excel Ole Object'ine uyguluyorsunuz.

Şöyle birşey yapmalısınız:
ObjExcel := CreateOleObject('Excel.Application');
ObjWorkbook := ObjExcel.Workbooks.Open(Excel_Dosya_Ismi);
ObjSheet := ObjWorkbook.ActiveSheet;
ObjSheet.ExportAsFixedFormat(xlTypePDF, PDF_Dosya_Ismi,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam
);
There's no place like 127.0.0.1
WWW
Cevapla
#7
Bu tarz durumlarda benim yaptığım şey yeni bir macro kaydı başlatmak ardından yapacağım işlemi yapmak sonra macro'yu durdurmak ve koduna bakmak. İstediğiniz işi Excel'e macro ile yaptırınca aşağıdaki gibi bir kod verdi bana:

Sub Macro1()
'
' Macro1 Macro
'

'
   ChDir "C:\Users\ProjectX\Desktop"
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       "C:\Users\ProjectX\Desktop\Book1.pdf", Quality:=xlQualityStandard, _
       IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
       False
End Sub
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#8
Selam, bende Office 2007 var ve işlemi yapmak istediğimde parametre hatası veriyor, fakat şurayı Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol okuyunca pdf eklentisi kurulu olmalı diye görüyorum biraz daha araştırınca şu linkte Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol eklentiyi buldum fakat indirip deneyemiyorum. Sizde de öyle bir sorun olabilir belki. Ayrıca sizin yazdığınız şekilde değil de @SimaWB nin yazdığı şekilde kullanmanız gereklidir. Ama sizin yazdığınıza ve benim net deki araştırmalarıma göre bu metod dışarıdan harici bir program ile desteklenmiyor gibi görünüyor.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#9
Merhaba Arkadaşlar cevaplarınız için çok teşekkür ederim.
@SimaWB Yazdığınız kod satırlarını yazmıştım ben sadece PDF açarken ki kodları yazdım. (Sizin yazdığınızla da aynı hatayı alıyorum.)

Tuğrul bey sizin yazdığınız şekildede aynı hatayı alıyorum.

@esistem sizinde belirttiğiniz gibi sanırım office 2007 den çıkmış bendeki 2016 olduğundan sorun olabilir. 

Normalde Excel'in farklı kaydet özelliğinde PDF kaydetme olduğundan  Excel.SaveAs('c:\1.pdf'); yapıyorum bunda da aynı hatayı veriyor.

Başka bir çözüm var mı acaba bildiğiniz.
Cevapla
#10
GetActiveOleObject & CreateOleObject metodlarını mı kullanıyorsunuz Excel OLE nesnesini elde etmek için ?
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Excel satır rengi dilo 3 240 02-01-2018, Saat: 12:05
Son Yorum: dilo
  DbGrid To Excel & DataSet To Excel yhackup 8 895 31-03-2017, Saat: 12:19
Son Yorum: mcuyan
  Excel sayfa 2 Dostk 3 730 08-12-2016, Saat: 18:01
Son Yorum: Dostk
  Excel'e aktarım ile ilgili emrekilinc1984 4 1.089 06-11-2016, Saat: 21:32
Son Yorum: emrekilinc1984



Konuyu Okuyanlar: 1 Ziyaretçi