SENARYOPDF olarak gömülü Word Doc kaydet
bir word belgesi, Excel 2011 dosyasına yerleştirilmiştir. Bir pdf olarak kaydetmem gerekiyor.
Excel 2010 olmuş olsaydı, o zaman Win Pcs desteği MS Office OLE otomasyonu olarak bir sorun olmazdı.
NEDEN NASIL TR?
Bu, Excel 2010'da çalıştığım kod olan bir koddur.
Option Explicit
Sub Sample()
Application.ScreenUpdating = False
Dim shp As Shape
Dim objWord As Object
Dim objOLE As OLEObject
Set shp = Sheets("Sheet1").Shapes("Object 1")
shp.OLEFormat.Activate
Set objOLE = shp.OLEFormat.Object
Set objWord = objOLE.Object
objWord.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Siddharth Rout\Desktop\Sid.pdf", ExportFormat:= _
17, OpenAfterExport:=True, OptimizeFor:= _
0, Range:=0, From:=1, To:=1, _
Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=0, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
objWord.Application.Quit
Set objWord = Nothing
Set shp = Nothing
Set objOLE = Nothing
Application.ScreenUpdating = True
End Sub
Açıkçası ben MAC aynı kullanamazsınız. Bunu MAC'da denemedim değil ... Yaptım: -/(Temel insan doğası sanırım?). Beklendiği gibi başarısız oldu. :)
Excel 2011 için bunu denedim. Çalışır, ancak pdf oluşturmaz ve herhangi bir hata mesajı vermez. Hata ayıklamayı denedim ama neşe yok.
'~~> Reference set to MS Word Object Library
Option Explicit
Sub Sample()
Dim oWord As Word.Application, oDoc As Word.Document
Application.ScreenUpdating = False
Sheets("Sheet1").Shapes.Range(Array("Object 1")).Select
Selection.Verb Verb:=xlPrimary
Set oWord = GetObject(, "word.application")
For Each oDoc In oWord.Documents
Debug.Print oDoc.FullName & ".pdf"
oDoc.SaveAs Filename:=oDoc.FullName & ".pdf", FileFormat:=wdFormatPDF
oDoc.Close savechanges:=False
Next oDoc
oWord.Quit
Set oworddoc = Nothing
Set oWord = Nothing
Application.ScreenUpdating = True
End Sub
Bunun AppleScript kullanarak da yapılabileceğine inanıyorum. Ben de Applescript ile test ettim. Burada bir kelime belgesini doğrudan pdf'ye dönüştürmeye çalışıyorum. Bu bölümü alırsanız o zaman benim kodunda küçük bir yoldan alabilir :) Ben MacScript(scriptToRun)
üzerinde çalışma zamanı hatası olsun Ancak
Sub tester()
Dim scriptToRun As String
scriptToRun = "set pdfSavePath to " & Chr(34) & "Users:siddharth:Documents:Sid.pdf" & Chr(34) & Chr(13)
scriptToRun = scriptToRun & "set theDocFile to choose file with prompt " & Chr(34) & "Please select a Word document file:" & Chr(34) & Chr(13)
scriptToRun = scriptToRun & "tell application " & Chr(34) & "Microsoft Word" & Chr(34) & Chr(13)
scriptToRun = scriptToRun & "open theDocFile" & Chr(13)
scriptToRun = scriptToRun & "set theActiveDoc to the active document" & Chr(13)
scriptToRun = scriptToRun & "save as theActiveDoc file format format PDF file name pdfSavePath" & Chr(13)
scriptToRun = scriptToRun & "end tell" & Chr(13)
Debug.Print scriptToRun
'Result = MacScript(scriptToRun)
'MsgBox Result
End Sub
yüzden benim AppleScript başarısız olduğunu eminim.
ANLıK
AppleScript Hata
nasıl 2011 Excel'de gömülü kelime doc kaydedebilir SORU? VBA ve Applescript’e açıkım.
+ 1 Güzel bir şekilde açıklanmış soru için. MAC'ım yok, ancak bu bağlantının işe yarayıp yaramadığını görüyor musunuz? Belki de betiği önce APPLESCRIPT'de deneyebilirsiniz? http://homepage.mac.com/swain/Macinchem/Applescript/AppScript_tut/AppScrip_tut_1/appscript_tut_1.htm –
Teşekkürler Pradeep. MAC'ımı kontrol ettim ama Uygulamalar klasöründe Applescript adlı bir klasör bulamadım. Belki indirmem gerekiyor mu? Elma dükkanını kontrol edeyim. –
@PradeepKumar: Yön için teşekkürler. Bu gerçekten yardımcı oldu. –