Excel VBA "Rely on system fonts" error
Based upon what I read in another thread, I may be missing some information on going directly to PDF rather than through a PostScript file. You tell me.
I'm driving multiple Excel VBA processes via MSAccess. I wish to print multiple charts from the same workbook to separate PDFs.
The first iteration works fine, creating a PDF of the chart with a specified filename. Subsequent iterations produce this error message:
When you create an Adobe PostScript file you must rely on system fonts and use document fonts.
Please go to the printer properties, “Adobe PDF Settings” page and turn OFF the option “Rely on system fonts only;
do not use document fonts.”
Note: Turning off the "Rely" option doesn't prevent the abend on the second iteration. Conclusion, a switch is being set that isn't being turned off. The real question is, how can I reset that switch, or avoid the issue altogether?
The code below creates a PostScript file:
.ActiveWindow.SelectedSheets.PrintOut Copies:=1, collate:=True, ActivePrinter:="Adobe PDF on Ne00:", printtofile:=True, collate:=True, prtofilename:=PSFileName
Note: Another thread in this forum indicated that it was unnecessary to create a PS file and that Excel VBA can create a PDF directly.
If this is a distiller issue, and I can avoid distiller that would be great! But this is the code I use to convert the PS file to a PDF.
Set myPDF = New PdfDistiller
myPDF.FileToPDF PSFileName, PlotPath & PlotName, ""
Any solutions?
Thanks,
Jnana
Yes. The Registry is locked down according to IT. I can't even access a command line.
I tried a VBA routine that calls SHELL to invoke regedit to add an entry for creating a pdf. When I ran it, it belched on the SHELL call with an error message indicating that regedit was only available to an administrator.
I somewhat doubt that the inability to update the registry has anything to do with the fact that the creation of a PostScript file is successful the first time, but unsuccessful the second time.
I've included the code I've tried below.
Any other ideas?
Thanks,
Jnana
Similar Messages
-
Setting for "Rely on system fonts" does not work
Hello,
Some time ago I wrote a VBA function that would print a worksheet to pdf. It worked great. I reformatted my system, and now the code no longer works. When I run the routine, I receive the error message, "When you create a PostScript file, you must reply on system fonts and use document fonts. Please go to the printer properties, 'Adobe PDF Settings' page and turn OFF the option 'Rely on system fonts only; do not use document fonts."
I have changed this setting within the Adobe printer setting in Excel, I have changed it in both the 'Printing Preferences" and "Printer Properties" with the Devices and Printers Windows dialog, and I have confirmed that it is turned off in the binary registry key "HKEY_CURRENT_USER\Printers\DevModePerUser\Adobe PDF". Also, I have applied the Acrobat 9.4.2 patch. Yet still I get the message when my code is executed....
There were a few changes between my system from before my reformatting. The common items were Windows7 64-bit, Adobe Acrobat 9. The changes were that I went from Microsoft Office 2010 64-bit to Office 2010 32-bit. Windows 7 SP1 is now installed. Also, both Acrobat and Office are installed on my internal "Data" drive, rather than the "C" drive where my operating system is installed.
Although I do not see an issue with code, since it worked for months, I have included it below (the printing code is at the end). Any help would be GREATLY appreciated!
Public Sub EnumOrder(ByVal lngLine As Long)
'lngLine is the line number to start enumeration at
Dim strStore As String
Dim strFileName As String
Dim strTmpPath As String
Dim strPDFPath As String
Dim c As Long
Dim x As Long
Dim lngErr As Long
Dim wsPicklist As Worksheet
Dim wsTemplate As Worksheet
Dim oPDF As PdfDistiller
Set oPDF = New PdfDistiller
Set wsPicklist = Worksheets("Phase II Picklist")
Set wsTemplate = Worksheets("Template")
strStore = wsPicklist.Cells(lngLine, 1).Value
' Clear formatted border on order template
wsTemplate.Activate
wsTemplate.Range("A7:L56").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
wsPicklist.Activate
' Initialize variables
strFileName = wsPicklist.Cells(lngLine, 1) & "-" & wsPicklist.Cells(lngLine, 2) & " " & Format(wsPicklist.Cells(lngLine, 4), "mm-dd-yy") & " Team" & Format(wsPicklist.Cells(lngLine, 3), "00")
c = 7
x = lngLine
' Add store order data to the template
With wsTemplate
' Add header data to the order template
.Cells(1, 2) = wsPicklist.Cells(lngLine, 1) ' Store #
.Cells(2, 2) = wsPicklist.Cells(lngLine, 3) ' Team #
.Cells(4, 2) = wsPicklist.Cells(lngLine, 4) ' Deliver By
.Cells(1, 5) = wsPicklist.Cells(lngLine, 13) ' Ship To Name
.Cells(2, 5) = wsPicklist.Cells(lngLine, 14) ' Ship To Address
.Cells(3, 5) = wsPicklist.Cells(lngLine, 15) ' Ship To City/State/Zip
.Cells(4, 5) = wsPicklist.Cells(lngLine, 16) ' Comment
' Add line items to the order template
Do
.Cells(c, 1) = wsPicklist.Cells(lngLine, 6) ' Part #
.Cells(c, 2) = wsPicklist.Cells(lngLine, 7) ' Part Name
.Cells(c, 7) = wsPicklist.Cells(lngLine, 8) ' Qty Ordered
wsPicklist.Cells(lngLine, 10) = Now ' Date Printed
wsPicklist.Cells(lngLine, 11) = strFileName ' File Name
lngLine = lngLine + 1
c = c + 1
Loop While strStore = wsPicklist.Cells(lngLine, 1)
End With
'Create formatted borders on store order template
x = lngLine - x + 6
wsTemplate.Activate
wsTemplate.Range("A7:L" & x).Select
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
' Print the store order to PDF
strTmpPath = "D:\Eric\Desktop\WIS-Speedway\Phase II\Picklists\New\Tmp\"
strPDFPath = "D:\Eric\Desktop\WIS-Speedway\Phase II\Picklists\New\"
wsTemplate.PrintOut copies:=1, preview:=False, _
ActivePrinter:="Acrobat Distiller", printtofile:=True, _
collate:=True, PrToFileName:=strTmpPath & strFileName & ".ps"
oPDF.FileToPDF strTmpPath & strFileName & ".ps", strPDFPath & strFileName & ".pdf", ""
' Set active cell to next store order
wsPicklist.Activate
wsPicklist.Cells(lngLine, 10).Select
End SubOk, I have given up the ghost on this problem. I found a MUCH better solution to the problem that I was having, that also has the side benift of processing far faster. See http://msdn.microsoft.com/en-us/library/ee834871(office.11).aspx for details. Basically, I am now using the VBA ExportAsFixedFormat method, rather than Distiller. Hope this helps.
-
When you create a PostScript file you must rely on system fonts and use document fonts
I got this error:
"When you create a PostScript file you must rely on system fonts and use document fonts. Please go to the printer properties, "Adobe PDF Settings" page and turn OFF the option "Rely on system fonts only; do not use document fonts."
This strikes me as bad practice. I only want to use system fonts and document fonts will muck me up.
That being said, I could not easily find a way to fix this with Acrobat Pro XI. I opened Control Panel (Windows 8) and found the printer and mucked around in the various ways to get to change the PDF settings (there are several ways, and some of them present the choices as bold and not just regular). I found two separate switches for "Rely on system fonts only; do not use document fonts" and turned both off, BUT that did not work.
Frustrated, I went back to FrameMaker and clicked File > Print Setup and then for the PDF printer, Printer Properties. There I found a THIRD instance of "Rely on system fonts only; do not use document fonts" that was set differently than the other two. This was the setting the error message meant. Change this one.
Thanks for the convoluted UI, Adobe. What a pain, but there is the answer for all who follow after....> Windows 7 and Frame 7.2.
This is not a supported configuration and probably does not work, due (I'm guessing) to driver API changes from XP to Win7, which would affect generating PDF and Ps output. This would affect Save-as-PDF and Print-to-Ps+Distill (unless you have a newer version of the full Acrobat product).
As it happens, I'm going to attempt something similar: FM 7.0 on Win7 64 Pro. However, I'm going to install that old FM in "XP Mode".
XP Mode is a 32-bit virtual machine running actual Windows XP inside Win7. It is (now maybe "was") available for Windows 7 Enterprise, Professional and Ultimate (but not Basic, Home or not-so-Premium). When XP went off support life earlier this month, Mr.Bill may have taken down the ability to download XP Mode (or not, since some large enterprises are able to purchase continued support for XP at some great cost). XP Mode never was supported for Win8. There are other VMs for Windows available.
If XP Mode is still available, you also need a CPU that has hardware virtualization, which all recent 64-bit AMD processors do, but which is fused-off in many low end 64-bit Intel processors. AMD processors need a separate unobvious hot-fix patch installed before you do anything else about XP Mode. -
Change "rely on system fonts only" via Group Policy
Hello,
This may take a bit to explain my problem, sorry in advance. I have a mixed network environment of Windows 7 Professional (x64) and Windows XP Pro SP3 (x32), and all of them have Adobe Acrobat 9 Standard, with the Adobe PDF Printer.
My problem is that ALL of these systems have a serious, game-killing problem with the Adobe PDF printer setting, "Rely on system fonts only; do not use document fonts". If that option is enabled (or if the option with the same name under Printer Defaults is enabled), then printing in our ERP software dies. (We use Microsoft Dynamics GP). Users get an error "Unable to stop printing", and believe me it took a WHILE before I figured out that the Adobe PDF setting was to blame! This happens even if my users are printing to physical paper, and not touching the PDF printer at all. In other software we sometimes get the annoying popup message from Adobe PDF saying that we need to uncheck the "Rely on system fonts..." setting as well. In short, I HAVE to keep that option turned off for all of my users.
Unfortunately, every time there's a major Adobe update the option returns (GRRRR!), in both the Printer Preferences menu and the Printer Defaults menu. I'm trying to change the option via a group policy administrative template, but I don't know which registry settings to modify - it seems like this option exists in SEVERAL places, here are the ones I've found so far:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Adobe PDF\PrinterDriverData\DistillerHostFontHasMostFonts
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Print\Printers\Adobe PDF\PrinterDriverData\DistillerHostFontHasMostFonts
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Printers\Adobe PDF\PrinterDriverData\DistillerHostFontHasMostFonts
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\Adobe PDF\PrinterDriverData\DistillerHostFontHasMostFonts
I've also found references in this forum that tell me to also change a long binary string in:
- HKEY_CURRENT_USER\Printers\DevModePerUser\Adobe PDF\Adobe PDF (And this one I honestly have no idea how to edit a huge string like that.)
For the first four registry values, when I change DistillerHostFontHasMostFonts to 0 via a template... the checkbox isn't visually cleared in the GUI. *face palm* I'm a bit desperate - how is an admin supposed to change this option across a company network besides manually?And, as a demonstration that this is a REAL and DOCUMENTED Microsoft bug, here's the text of the Dynamics GP KB article:
It would be nice if somebody from Adobe had an answer other than "yeah you shouldn't disable that feature, for vague reasons of our own that we won't tell you." Microsoft clearly believes it MUST be disabled! I don't have an option there, or my company's ERP software doesn't work.
SYMPTOMS
When you try to send a report as a .pdf file to an e-mail recipient from Microsoft Dynamics GP and from Microsoft Business Solutions - Great Plains, you receive the following error message:When you create a PostScript file you have to send the host fonts. Please go to the printer properties, "Adobe PDF Settings" page and turn OFF the option "Do not send fonts to Distiller" appears.You continue to receive this error message after you follow these steps to turn off the Do not send fonts to Distiller option:
1.
Click Start, and then click Printers and Faxes.
2.
Right-click Adobe PDF, and then click Properties.
3.
On the General tab, click Printing Preferences.
4.
Click to select the Do not send fonts to "Adobe PDF" check box, and then click OK.
5.
On the Advanced tab, click Printing Defaults.
6.
Click to select the Do not send fonts to "Adobe PDF" check box.
7.
Start Microsoft Great Plains.
Back to the top
RESOLUTION
Microsoft Dynamics GPTo resolve this problem, complete steps 1-6 in the "Workaround" section.
Back to the top
Microsoft Business Solutions - Great Plains 8.0To resolve this problem, complete steps 1-6 of the "Workaround" section, and then obtain the latest service pack for Microsoft Business Solutions - Great Plains 8.0. For more information, visit one of the following Microsoft Web sites, depending on whether you are a partner or a customer. Partners https://mbs.microsoft.com/partnersource/products/GreatPlains/downloads/servicepackCustomershttps://mbs.microsoft.com/customersource/support/downloads/servicepacks
Back to the top
WORKAROUND
To work around this problem, follow these steps.Adobe 6.0 and Adobe 7.0
1.
Click Start, and then click Printers and Faxes.
2.
Right-click Adobe PDF, and then click Properties.
3.
On the General tab, click Printing Preferences.
4.
Click to clear the Do not send fonts to "Adobe PDF" check box.
5.
On the Advanced tab, click Printing Defaults.
6.
Click to clear the Do not send fonts to "Adobe PDF" check box.
7.
Start Microsoft Great Plains.
8.
In Microsoft Great Plains, click Print Setup on the File menu.
9.
In the Name list, click Adobe PDF, and then click Properties.
10.
On the Adobe Default Settings tab, click to select the Do not send fonts to "Adobe PDF" check box. Then, click to clear the Do not send fonts to "Adobe PDF" check box.
11.
Click OK two times.
Adobe 8.0
1.
Click Start, and then click Printers and Faxes.
2.
Right-click Adobe PDF, and then click Properties.
3.
On the General tab, click Printing Preferences.
4.
Click to clear the Rely on System fonts only; do not use document fonts check box.
5.
On the Advanced tab, click Printing Defaults.
6.
Click to clear the Rely on System fonts only; do not use document fonts check box.
7.
Click OK two times.
Back to the top
STATUS
Microsoft Dynamics GP 10.0Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Back to the top
Microsoft Dynamics GP 9.0Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Back to the top
Microsoft Business Solutions - Great Plains 8.0Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft Business Solution - Great Plains 8.0 Service Pack 4a.
Back to the top
MORE INFORMATION
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.
Back to the top
APPLIES TO
Microsoft Dynamics GP 2010
System Manager, when used with:
Microsoft Dynamics GP 10.0
Microsoft Dynamics GP 9.0
Microsoft Business Solutions–Great Plains 8.0 -
Turn Off options "Rely on system fonts only;"
I'm trying to figure out why PageMaker keeps running into a wall when trying to export a pdf. I continue to get the error message: "Adobe PDF Settings" turn off the option "Rely on system fonts only; do not use document fonts." I've searched through all the settings I can find in PageMaker and I don't see a single one called "Rely on system fonts...". I've tried going into Devices and Printers in Windows 7 and there is no Adobe PDF printer listed despite the fact that the latest Adobe Masters Collection is installed along with Acrobat Reader. Therefore I don't get where this setting is suppose to be. Can anyone help me out here?
Re: the million complaints, no--I'm sure there aren't a million lodged. But I'm sure we could document 50,000 complaints about failed plugins, bloated software, too frequent updates, strange error messages on load, features that switch on/off. Just with Acrobat. Probably just on the Adobe board alone. Like polling, I think you could project out to a million from that--because "I haven't heard a million suggestions" doesn't mean there aren't a million customers grinding their teeth with a billion instances of failure.
Re: the upgrade cycle, of course companies like you to upgrade. But that doesn't excuse them from adding new features/tweaks while grandfathering in bugs. Like the bug discussed here, which actually has nothing to do with PageMaker. Because it's the same one discussed here in 2009: http://forums.adobe.com/message/1880784. And it's the same one I'm experiencing now with Adobe Acrobat XI Pro.
And the issue for me (and in the 2009 post) is a conflict between Acrobat and the Calibri font--which is the default font for Word since 2007. (All Ben needed to do was Google the error message posted by this poor ******* who's stuck using PageMaker--he may have even found this post: http://blog.rockymountaintraining.com/?p=2551.)
Six years later, here this bug still is. A bug that is pure Adobe--based on how Adobe products interact with the operating system. I cringe at how many PDFs I've sent out to clients that included unusable links (it would be nice to be as confident as you are that not hearing complaints means there haven't been any).
And a person cannot upgrade out of this kind of bug without upgrading out of Adobe. -
Hello!
We have an application that requires the Rely on System Fonts box to be unmarked. I already unmarked it on the Adobe PDF printer on the Citrix server however this change does not roll down to the automatically created adobe printers in Citrix. How can I roll down the change?
Thanks
MarisolBSteve,
Thanks for your notes. To follow up on your response.
Bummer. I kinda had a hunch at this inDesign limitation.
I have been aware of the method for setting up of a security policy within Acrobat. While this feature does cut down some of the work involved in creating and applying password policies to pdfs, what I am looking for with Acrobat is to apply the same password policy to every document I save from the app. Automatically. Without having to manualy select a policy.
I think my solution will have to lie in me creating some sort of script to help support this need. I don't think Acrobat Pro X has the capabilities to allow me to tinker with, say, creating a save PDF preset that will allow me to automatically apply a password policy.
PS. I am using acrobat pro x. -
Can't editing PDF text-no system font error
Hi all,
I'm trying to edit a PDF containing "Arial+0" font. This is the original font and the editing font. There is no system font for this, so I am unable to edit or delete text.
I attempted one solutioon to edit the TouchUp Properties for highlighted text, changing the font to something my system has. However, when I tried changing the font to "Arial", I got the following error:
The change to a different font was not done because the chosen font and the font encodings in the document differ and could not be resolved.
Is there a way around this error? Any other approaches to try?
Thanks!If you want to proceed, you will either have to find a version of the Arial font that was used (not necessarily easy) or try each of the fonts on your system until you find one that is compatible. Is the font embedded? If not what font is your system using to display the text?
You might find it easier to get the original document, do the edit in the appropriate software, and recreate the PDF. -
I was executing the following code in Excel 2013 that is linked to a button I use to add multiple rows in a chosen section of a worksheet
Sub Add_Rows_dc()
Sheet53.Unprotect ("xxx")
X = Range("C1").Value + 1 'Section Counter
Y = ListSheet.Range("I" & X).Value 'Existing rows counter
Z = ListSheet.Range("H" & X).Value 'Position counter
Righe = InputBox("How many rows would you like to add?", , "1")
If Righe < 1 Then GoTo err ' test for invalid row number
RigheSheet.Rows(X).Copy
Rows(Z - 1 & ":" & Righe + Z - 2).Insert Shift:=xlDown
GoTo Fine
err:
Mess = MsgBox("PLEASE INSERT A VALID NUMBER OF ROWS", vbCritical)
Fine:
'Formulas update
Z = ListSheet.Range("H" & X).Value 'Position counter update
Range("U" & Z - Righe - 2 & ":AF" & Z - 2).FillDown
Sheet53.Protect "xxx", , , , , True
End Sub
From time to time it returns me the error "2147417848 The object invoked has disconnected from its clients" and the debug point out the line
Rows(Z - 1 & ":" & Righe + Z - 2).Insert Shift:=xlDown
I cannot find any specific reason due to the fact that the error seems randomic, sometimes the code is perfectly executed, sometimes not.
I wrote this piece of code in Excel 2010 and never encountered such problem before reusing it in Excel 2013
Has someone an insight or a suggestion?
Thank you very muchRe: strange error
Try it this way...
(might work, might not)
Sub Add_Rows_dc_R1()
Dim X As Double
Dim Y As Double
Dim Z As Double
Dim Righe As Variant
Dim Mess As Long
Sheet53.Unprotect ("xxx")
X = Range("C1").Value + 1 'Section Counter
Y = ListSheet.Range("I" & X).Value 'Existing rows counter
Z = ListSheet.Range("H" & X).Value 'Position counter
Righe = InputBox("How many rows would you like to add?", , "1")
If Righe < 1 Then GoTo errX ' test for invalid row number
RigheSheet.Rows(X).Copy
Rows(Z - 1 & ":" & Righe + Z - 2).Insert Shift:=xlDown
GoTo Fine
Fine:
'Formulas update
Z = ListSheet.Range("H" & X).Value 'Position counter update
Range("U" & Z - Righe - 2 & ":AF" & Z - 2).FillDown
Sheet53.Protect "xxx", , , , , True
Exit Sub
errX:
Mess = MsgBox("PLEASE INSERT A VALID NUMBER OF ROWS", vbCritical)
End Sub
Jim Cone
Portland, Oregon USA
free & commercial excel programs (n/a xl2013)
https://jumpshare.com/b/O5FC6LaBQ6U3UPXjOmX2 -
How to embed/apply a system font to an entire PDF
How can I embed/apply a system font to an entire PDF so that I can freely reword a document?
I am reading a highly technical document. The best way for me to understand it is to replace complex words with synonyms and definitions that I understand. The best way to do this is with the TouchUp tool, but I'm getting the "no available system font" error. By default the touch up tool will select a line of text that you can then right click -> properties and select a font to embed to correct this error.
I need to apply this process to the entire document, not just one line. Somehow I accidently managed to apply this process to a full page of text, but I do not know the details of what I actually did. So I know it is possible to do this to at least large chunks of text.
Please advise.The quick and dirty way would be to open up a New document in Microsoft Word, then using the Text Select tool (next to the Hand Tool in the toolbar) copy and paste into Word, make your edits, then convert or print to PDF. That's best if the document is a few pages.
Another way is to convert the document to Microsoft Word using the command File > Save As > Microsoft Word > Word document. It should preserves any tables, graphs and equations, and you should be able to easily edit it. You could even substitute the fonts with what you have on your system. Then convert it back to PDF.
A third way is in Acrobat. It is the Edit Object tool. This is where Acrobat would send you to Adobe Illustrator to revise the text. It's much more work since the text might have to be reformatted...and I think you might want to try the Word method first.
You can now understand why the conventional wisdom is to use the source document. Acrobat at this point is for minor edits, and enhancements, page numbering headers and footers.
Acrobat XI coming out in about 30 days is going to have far better editing capabilities, so you may want to consider that if you are going to be doing this often.
Gene -
Using Excel VBA to Programmatically change Adobe Print Properties
Did the Registry location of the "Rely on system fonts, do not use document fonts" setting change for Acrobat 10? It is not located in the Registry location mentioned in this discussion:
http://forums.adobe.com/thread/422928
Any Ideas?
Much appreciated.Did the Registry location of the "Rely on system fonts, do not use document fonts" setting change for Acrobat 10? It is not located in the Registry location mentioned in this discussion:
http://forums.adobe.com/thread/422928
Any Ideas?
Much appreciated. -
When starting InDesignCS2 received new error message -- InDesign is missing required system fonts or
We are not able to start Indesign CS2 without getting the error message: <<InDesign is missing required system fonts or CMap files. Please reinstall InDesign.>> This is on WinXP.<br /><br />Recently I installed Creative Suite CS4. It took almost a day to install. The installation kept on stopping. Each time we were able to install one more program. After checking all of the programs we discovered that Firefox would not start due to a possible font error. After reading many posts I decided to uninstall a lot of fonts since I did not know which one was the culprit. <br /><br />However now I am missing a font (at least I hope that this is caused by a missing font and not anything else) that should be there and I don't know which one it should be. I did uninstall a <lot> of fonts and don't remember which ones.<br /><br />WE did uninstall all CS2 programs and then reinstalled only the necessary three. However that did not make any difference.<br /><br />Any ideas and suggestions would be welcome<br />Thanks<br />Pia Pehtla
A forum search for "missing required fonts" brings up this thread which should solve your problem:
http://www.adobeforums.com/webx?128@@.3bbdb0a7
Peter -
Error in Excel VBA script while using sharepoint web service
Hi Can you please help me out in this ?
nain1987Hi Nain,
According to your description, my understanding is that the error occurred in the Excel VBA scripts which was used to update SharePoint list.
I recommend to check if the URL of the web service is in the right scope. If the list is in a subsite, the URL should be: http://servername/site/ _vti_bin/Lists.asmx.
To update SharePoint list using Excel VBA script, you can refer to the link below:
http://sharepoint.stackexchange.com/questions/34433/update-sharepoint-list-using-excel
Best regards.
Thanks
Victoria Xia
TechNet Community Support -
Date parameter has error in Excel VBA
Hi Expert,
I follow up experts code to create a query in Excel VBA, but when running, I got error(Invalid column name "StartDate") in SQL query. I don't know how to fix it because beginner. I hope somebody can help.
The code is this.
Public Sub Run()
Dim SQL As String
Dim Connected As Boolean
Dim StartDate As Date
Dim curdate As Date
Dim MsgDate As String
Dim TitleMsg As String
MsgDate = "Enter the Start Date in A2 to use for these Timesheets (d/mm/yy), or Accept the Default (Today - 30)"
TitleMsg = "Timesheet Start Date"
curdate = Date - 30
MsgBox (MsgDate)
StartDate = Application.InputBox(MsgDate, TitleMsg, FormatDateTime(curdate, vbShortDate), Type:=1)
' Our query
SQL = "select [Posting Date],[Ship-to Code],[External Document No_],[Order No_],[Pallet Amount]" & _
"from dbo.[Valley Fine Foods$Sales Shipment Header]" & _
"where [Location Code] = 'BE' and [Pallet Vendor] = 'PECO' and [Posting Date] >= ""'StartDate'"";"
' Connect to the database
Connected = Connect("vffserver9m", "vffnav2013")
If Connected Then
' If connected run query and disconnect
Call Query(SQL)
Call Disconnect
Else
' Couldn't connect
MsgBox "Could Not Connect!"
End If
End Sub
James LiangTry
SQL = "SELECT [Posting Date], [Ship-to Code], [External Document No_], [Order No_], [Pallet Amount] " & _
"FROM dbo.[Valley Fine Foods$Sales Shipment Header] " & _
"WHERE [Location Code] = 'BE' and [Pallet Vendor] = 'PECO' and [Posting Date] >= #" & _
Format(StartDate, "yyyy-mm-dd") & "#"
or
SQL = "SELECT [Posting Date], [Ship-to Code], [External Document No_], [Order No_], [Pallet Amount] " & _
"FROM dbo.[Valley Fine Foods$Sales Shipment Header] " & _
"WHERE [Location Code] = 'BE' and [Pallet Vendor] = 'PECO' and [Posting Date] >= '" & _
Format(StartDate, "yyyy-mm-dd") & "'"
Regards, Hans Vogelaar (http://www.eileenslounge.com) -
Using Excel VBA to Print to PDF File?
Hi, All !!
I have an Excel VBA application that creates Excel reports. These need to be sent external to our company in PDF format. I've downloaded the Acrobat SDK and have found the VB sample for AdobePDFSilent. Unfortunately, it appears that this is written for VB or VB.Net as I don't have any of the data types available that are created in the code. However, from another forum, I've gotten some VB code that appears to do many of the processes included in the SDK sample.
The code below doesn't give me any errors, but no PDF file is created.
My VBA code
Declare Function RegOpenKeyA Lib "advapi32.dll" ( _
ByVal Key As Long, _
ByVal SubKey As String, _
NewKey As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long) As Long
Sub TestPrintPDF()
Dim strDefaultPrinter As String
Dim strOutFile As String
Dim lngRegResult As Long
Dim lngResult As Long
Dim dhcHKeyCurrentUser As Long
Dim PDFPath As String
Const dhcRegSz As Long = 1
1 Workbooks.Open ("\\master\fnshares\bcbcm\Client Management\Client Services\New Account Fees\09 September 2010\3Q10 Rebate Ltrs\Infi\MacroTest\A02.xls")
2 Select Case ActiveWorkbook.Sheets.Count
3 Case 1
4 Sheets(1).Select
5 Case 2
6 Sheets(Array(Sheets(1).Name, Sheets(2).Name)).Select
7 Case 3
8 Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name)).Select
9 Case 4
10 Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, Sheets(4).Name)).Select
11 Case 5
12 Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, Sheets(4).Name, Sheets(5).Name)).Select
13 Case 6
14 Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, Sheets(4).Name, Sheets(5).Name, Sheets(6).Name)).Select
15 End Select
16 dhcHKeyCurrentUser = &H80000001
17 strDefaultPrinter = Application.ActivePrinter
18 PDFPath = ActiveWorkbook.Path & Application.PathSeparator 'The directory in which you want to save the file
19 strOutFile = PDFPath & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".pdf" 'Change the pdf file name if required. This should have the fully qualified path
20 lngRegResult = RegOpenKeyA(dhcHKeyCurrentUser, "Software\Adobe\Acrobat Distiller\PrinterJobControl", lngResult)
21 lngRegResult = RegSetValueEx(lngResult, Application.Path & "\Excel.exe", 0&, dhcRegSz, ByVal strOutFile, Len(strOutFile))
22 lngRegResult = RegCloseKey(lngResult)
23 ThisWorkbook.ActiveSheet.PrintOut copies:=1, ActivePrinter:="Adobe PDF"
24 Application.ActivePrinter = strDefaultPrinter
25 ActiveWorkbook.Close False
End Sub
From what I can determine, the lines 17 & 24 combined basically accomplish the same thing as the SaveandUpdateDefaultPrinter function in the SDK (get and save the current default printer and return it to that default after printing the PDF).
Line 20 opens the Registry key for Distiller\PrinterJobControl which is done in part of the ConvertFile function in the following SDK code.
SDK Code
Dim objDistillerRegKey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot
Dim strDistillerSubKey As String = "SOFTWARE\\Adobe\\Acrobat Distiller\\PrinterJobControl"
'Open Current User's Distiller Subkey for writing
objDistillerRegKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(strDistillerSubKey, True)
Line 21 sets the Registry key for Excel with the name of the PDF file to output which also appears to be done in part of the ConvertFile function in the following code.
SDK Code
If (Not objDistillerRegKey Is Nothing) Then 'set reg key value for this app and file
objDistillerRegKey.SetValue(strAppPath, strOutputFile)
objDistillerRegKey.Close()
End If
I have verified, using RegEdit, that this Registry key does get set with the desired output filename.
Line 23 prints the Excel file to PDF when done manually (this was recorded using the Excel Macro Recorder). This should be comparable to the PrintToAdobePDF function in the SDK as below.
SDK Code
Private Sub PrintToAdobePDF(ByVal InputfilePath As String)
'Prints InputFilePath to the AdobePDF printer.
'Since we just gathered all this info programmatically,
'this function assumes the file is present, that it has an
'associated application and that the current user has print privileges.
'Define properties for the print process
Dim pProcInfo As New ProcessStartInfo
pProcInfo.FileName = InputfilePath
pProcInfo.Verb = "Print"
'Make process invisible
pProcInfo.CreateNoWindow = True
pProcInfo.WindowStyle = ProcessWindowStyle.Hidden
'start print process
Dim pMyProc As Process = Process.Start(pProcInfo)
pMyProc.WaitForExit()
End Sub
These are some of the statements I can't do because I don't have a ProcessStartInfo type. What am I doing wrong or NOT doing that the PDF file is not created? I hope I've described my situation in enough, but not too much detail. Thanks for your help.
Nate BreiReinhard & Karl Heinz,
Thank you both for your responses and willingness to work with me on this problem. This is driving me crazy & is getting very frustrating. It seems that I've tried everything that people have suggested (I've also posted on a VB Forum that I subscribe to) and I'm basically doing what works for everyone else but doesn't work for me. I've got to be close.
Reinhard, regarding your last post, it doesn't appear to be a one-time setting. Everytime I come into the Printers Property box (even after I've printed a PDF document manually, that option about system & document fonts is ALWAYS turned on. If it is a registry setting, please let me know how to turn it off. I'm using Adobe Acrobat 9 Standard.
Karl Heinz, I've tried that based on my initial post (see the code there). Since your post, I tried it again. I get the same result, NO FILE is produced anywhere.
I wish I could post pictures, but evidently I can't. So, I going to post first my code (in case you want to try to recreate my problem), then the values of the variables in that code when I run it (so you can I have everything set correctly as far as I know), and finally, the values of the Registry entries that I have after I run it. So, please bear with me as the post may be a little long.
My Code
Declare Function RegOpenKeyA Lib "advapi32.dll" ( _
ByVal Key As Long, _
ByVal SubKey As String, _
NewKey As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long) As Long
Sub TestPrintPDF()
Dim strDefaultPrinter As String
Dim strOutFile As String
Dim lngRegResult As Long
Dim lngResult As Long
Dim dhcHKeyCurrentUser As Long
Dim PDFPath As String
Const dhcRegSz As Long = 1
'Workbooks.Open ("\\master\fnshares\bcbcm\Client Management\Client Services\New Account Fees\09 September 2010\3Q10 Rebate Ltrs\Infi\MacroTest\A02.xls")
Workbooks.Open ("H:\A02.xls")
Select Case ActiveWorkbook.Sheets.Count
Case 1
Sheets(1).Select
Case 2
Sheets(Array(Sheets(1).Name, Sheets(2).Name)).Select
Case 3
Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name)).Select
Case 4
Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, _
Sheets(4).Name)).Select
Case 5
Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, _
Sheets(4).Name, Sheets(5).Name)).Select
Case 6
Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name, _
Sheets(4).Name, Sheets(5).Name, Sheets(6).Name)).Select
End Select
dhcHKeyCurrentUser = &H80000001
strDefaultPrinter = Application.ActivePrinter
'The directory in which you want to save the file
PDFPath = ActiveWorkbook.Path & Application.PathSeparator
'Change the pdf file name if required. This should have the fully qualified path
strOutFile = PDFPath & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & ".pdf"
lngRegResult = RegOpenKeyA(dhcHKeyCurrentUser, "Software\Adobe\Acrobat Distiller\PrinterJobControl", _
lngResult)
lngRegResult = RegSetValueEx(lngResult, Application.Path & "\Excel.exe", 0&, dhcRegSz, _
ByVal strOutFile, Len(strOutFile))
lngRegResult = RegCloseKey(lngResult)
ThisWorkbook.ActiveSheet.PrintOut copies:=1, ActivePrinter:="Adobe PDF"
'ThisWorkbook.ActiveSheet.PrintOut copies:=1, preview:=False, ActivePrinter:="Adobe PDF", _
printtofile:=True, collate:=True, prtofilename:=strOutFile
'Call printToPdf(strOutFile)
Application.ActivePrinter = strDefaultPrinter
ActiveWorkbook.Close False
End Sub
Sub printToPdf(PDFFilename)
' Define a postscript file name
PSFileName = "H:\TempPostScript.ps"
' Print the Excel range to the postscript file
'Dim MySheet As Worksheet
'Set MySheet = ActiveSheet
ActiveWindow.SelectedSheets.PrintOut copies:=1, preview:=False, ActivePrinter:="Adobe PDF", _
printtofile:=True, collate:=True, prtofilename:=PSFileName
' Convert the postscript file to .pdf
Set myPDF = CreateObject("PdfDistiller.PdfDistiller.1")
myPDF.FileToPDF PSFileName, PDFFilename, ""
End Sub
Values of my Variables When I Run the Code
? dhcHKeyCurrentUser
-2147483647
? strDefaultPrinter
\\tcps01p\FNT12W00 Canon 5020 PCL 5e on Ne04:
? PDFPath
H:\
? strOutFile
H:\A02.pdf
? lngResult
2280
? Application.Path & "\Excel.exe
C:\Program Files\Microsoft Office\OFFICE11\Excel.exe
? dhcRegSz
1
? Len(strOutFile)
10
? PSFileName
H:\TempPostScript.ps
? PDFFilename
H:\A02.pdf
Values of my Registry Entries (HKEY_CURRENT_USER\Software\Adobe\Acrobat Distiller\PrinterJobControl)
(Default) REG_SZ (value not set)
C:\Program Files\Microsoft Office\OFFICE11\Excel.exe REG_SZ H:\A02.pdf
LastPdfPortFolder - EXCEL.EXE REG_SZ "Q:\Client Management\Client Services\New Account Fees\09 September 2010\3Q10 Rebate Ltrs\Infi\MacroTest
Note: There are a couple of other entries for documents that I've printed manually that I didn't include. Also, the last entry above, contains the value of the folder that I last manually "printed" to.
I've also noticed that I have a Registry SubKey under PrinterJobControl called DownloadFonts. However, the only entry there is:
(Default) REG_SZ (value not set)
Is this the registry key you mentioned, Reinhard?
As you can see in my code, I have 3 different methods that I've tried to print. The first one defaults everything after selecting the Acrobat PDF printer. The second sets the output filename as a PDF (basically what you suggested, Karl Heinz). The third method calls a procedure that prints to a PostScript file & then uses Distiller to print from that file to pdf. This is the method Reinhard suggested.
With the first 2 methods, I get NO error messages, but no file(s) show up. With the 3 method, I get the error about the Fonts checkbox, but it creates a 0K PostScript file. When I skip that statement and run the other 2 statements, I get a log file that says the PostScript file is empty and not PDF file was created.
YIKES... What's going on? Thanks again for attempting to help me!!!
Nate -
Hello,
Hope someone call help with the following.
I am trying to retrieve data from a table within SAP by using the following Excel VBA code.
Sub retrieve_table_contents()
Dim R3, MyFunc, App As Object
Dim SEL_TAB, NAMETAB, TABENTRY, ROW As Object
Dim Result As Boolean
Dim iRow, iColumn, iStart, iStartRow As Integer
iStartRow = 4
Worksheets(1).Select
Cells.Clear
'Create Server object and Setup the connection
Set R3 = CreateObject("SAP.Functions")
R3.Connection.System = "QA2"
R3.Connection.client = "900"
R3.Connection.user = "mbrough"
R3.Connection.password = "st34lh"
R3.Connection.language = "EN"
If R3.Connection.logon(1, False) <> True Then
Exit Sub
End If
'Call RFC function TABLE_ENTRIES_GET_VIA_RFC
Set MyFunc = R3.Add("TABLE_ENTRIES_GET_VIA_RFC")
Dim oParam1 As Object
Dim oParam2 As Object
Dim oParam3 As Object
Dim oParam4 As Object
Set oParam1 = MyFunc.exports("LANGU")
Set oParam2 = MyFunc.exports("ONLY")
Set oParam3 = MyFunc.exports("TABNAME")
Set oParam4 = MyFunc.Tables("SEL_TAB")
oParam1.Value = "E"
oParam2.Value = ""
oParam3.Value = "LAGP"
If frmQuery.txtSelect <> "" Then
oParam4.Rows.Add
oParam4.Value(1, "ZEILE") = frmQuery.txtSelect
End If
Result = MyFunc.CALL
If Result = True Then
Set NAMETAB = MyFunc.Tables("NAMETAB")
Set SEL_TAB = MyFunc.Tables("SEL_TAB")
Set TABENTRY = MyFunc.Tables("TABENTRY")
Else
MsgBox MyFunc.EXCEPTION
R3.Connection.LOGOFF
Exit Sub
End If
Result = R3.TABLE_ENTRIES_GET_VIA_RFC(EXCEPTION, LANGU:="E", ONLY:="", TABNAME:="LAGP", SEL_TAB:=SEL_TAB, NAMETAB:=NAMETAB, TABENTRY:=TABENTRY)
'Quit the SAP Application
R3.Connection.LOGOFF
If Result <> True Then
MsgBox (EXCEPTION)
Exit Sub
End If
'Display table header
iColumn = 1
For Each ROW In NAMETAB.Rows
Cells(iStartRow - 1, iColumn) = ROW("FIELDNAME")
' For C and N datatypes, explicitly set the cell to TEXT format, otherwise leading zeroes will be lost
' when numbers are imported from a SAP text field
If ROW("INTTYPE") = "C" Or ROW("INTTYPE") = "N" Then
Range(Cells(iStartRow - 1, iColumn), Cells(iStartRow - 1 + TABENTRY.Rowcount, iColumn)).Select
Selection.NumberFormat = "@"
End If
Cells(iStartRow, iColumn) = ROW("FIELDTEXT")
iColumn = iColumn + 1
Next
Range(Cells(iStartRow - 1, 1), Cells(iStartRow, NAMETAB.Rowcount)).Font.Bold = True
'Display Contents of the table
iColumn = 1
For iRow = iStartRow + 1 To TABENTRY.Rowcount
For iColumn = 1 To NAMETAB.Rowcount
iStart = NAMETAB(iColumn, "OFFSET") + 1
' If this is the last column, calculate the length differently than the other columns
If iColumn = NAMETAB.Rowcount Then
iLength = Len(TABENTRY(iRow, "ENTRY")) - iStart
Else
iLength = NAMETAB(iColumn + 1, "OFFSET") - NAMETAB(iColumn, "OFFSET")
End If
' If the fields at the end of the record are blank, then explicitly set the value
If iStart > Len(TABENTRY(iRow, "ENTRY")) Then
Cells(iRow, iColumn) = Null
Else
Cells(iRow, iColumn) = Mid(TABENTRY(iRow, "ENTRY"), iStart, iLength)
End If
Next
Next
'Format the Columns
Range(Cells(iStartRow, 1), Cells(iStartRow + TABENTRY.Rowcount, NAMETAB.Rowcount)).Select
Selection.EntireColumn.AutoFit
End Sub
However when I run the code I get the following exception message. 'SYSTEM_FAILURE' and nothing is returned.
Does anyone know why this is?
Thanks,
MikeYou can send data from excel to the MII message listener with a simple http post.
Message format requirments can be found here:
[http://help.sap.com/saphelp_xmii120/helpdata/en/45/6a86ac88130dece10000000a11466f/content.htm|http://help.sap.com/saphelp_xmii120/helpdata/en/45/6a86ac88130dece10000000a11466f/content.htm]
Edited by: Christian Libich on Aug 10, 2009 10:14 PM
Maybe you are looking for
-
Problem reading data from textField?
I have a problem in my program I'm currently doing. I have a textArea and a textField in a container. Inside the textArea will be displayed some questions which require user to give answers to in the textField. When user types something in the textFi
-
When I try to update my tTunes store I get the message, "The older version of iTunes cannot be removed. Contact your technical support group."
-
What is necessary concept for Java
Dear, Oracle Introduce new tool as "OA Framework" to develope custome page in Oracle ebusiness application, to create pages what's the main content to be known for this. Pls guide.
-
"error obtaining the list of methods" from Sun deploytool, "security" pane
I'm trying to apply security features to a web application in a .ear file. Following the J2EE tutorial I try to play with the Security tabbed pane in deploytool. Well, all the time I do get Error obtaining the list of methods on MyService java.lang.R
-
Each time i open Firefox, i get a window opening saying:A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete. Script: file:///C:/Program%20Files/Mozi