I have already used the Design-Custom Size to Set each of my slides up as 11x17. But I have an executive asking if I can "Have it so when the push ctrl+p it automatically prints the slides as 11x17 and of possible just 2 slides in the deck like this and the rest normal" I understand that as the user you have to select printer properties prior to printing to print out as 11x17. Keep in mind they may even be using a different printer.. Is there a way to just hardcode the .ppt slide to communicate to the printer to print 11x17
What you want isn't possible, unfortunately. A custom-written add-in could add a new button on the ribbon that'd cause PPT to print in a particular way, though.
Related
I have an Excel VBA macro that tries to print in color but it only prints in black and white.
I have tried two methods but failed.
Method 1: ActiveSheet.PageSetup.BlackAndWhite = False. This code doesn't seem to work in my environment. I am also not allowed to add another printer queue that is in color.
Method 2: Application.Dialogs(xlDialogPrinterSetup).Show. I can bring up a list of printers in my environment using this code but don't know how to select the correct printer and select color.
ActiveSheet.PageSetup.BlackAndWhite = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="\\printer\printer1", Collate:=True, _
IgnorePrintAreas:=False
Sheets("REPORT").Select
Would like to print in color either by expanding on either of the 2 methods I've provided.
I suspect it is a problem of the printer settings, not of your code. Check how the printer is actually set. If you are on Win 10, you have an additional problem - you need to disable the automatic managing of print jobs from systems, it keeps reverting to the last setting for a given app and ignores your manual settings.
What ActiveSheet.PageSetup.BlackAndWhite = False does is an Excel setting (you are sending it to the printer in color). IMHO, the problem is in the actual printer setting - it is set to B&W there, meaning the conversion happens in the printer. You cannot change this from VBA, at least not easily.
What you can do (but probably need administrator access), is to set a second (third) copy of the printer in the system, set it to color printing there, and before printing choose this "other" printer.
I am using this method for Word - set one "printer" for Envelopes, one "printer" for double sided printing and the original printer has the normal setting set by the company. Every one of it is physically the same printer.
The solution is then instead of ActivePrinter:="\\printer\printer1" to change the ActivePrinter to the one printing in color, and after the printout back again.
Edit:
Reading again - is the "\\printer\printer1" the correct one? You can look in the system how the printers are connected or simply record a macro when you send something to a color printer and look there. It might be, that you simply need to set Application.activeprinter= to another one, for example Application.activeprinter="\\printer\printer2".
Let's say I have a front panel with 100 buttons named "Button 1"..."Button 100". How can I quickly rename all of them to "Push Button 1"..."Push Button 100"?
Same answer as Dave_St but as vi snippet.
Before running the VI:
And After running the VI:
It can be done programmatically but the vi whose control names are to be changed must not be running in any way (it can be loaded into memory but the run button must be flat white).
Get all the front panel references from the vi. Then change their names with another vi using the Label.Text property.
That is a really good question, if you can't just get rid of them and make a new button called "Push Button 1" that you use to create all the others. I'm assuming they're already implemented enough to make that difficult. I can't test it out on the machine I'm at, but I'd create a new VI and open a reference to the VI with your buttons in it. Then you can get the references to all the front panel controls, which you can then run through a loop that checks if it's a button and then changes the label.
I know a little about Excel VBA but this is a little over my head (may not even be possible).
Is there a way to write code to;
Navigate to a sharepoint web addresss
In the 'Library' menu at the top it is selected
'Export Data' is clicked
Basically mimicking how an actual person would interact to achieve this?
I've looked everywhere but can't find anything which is making me think it is not possible, but have seen things 'not thought possible' achieved through this site so thought I'd give it a shot.
Can anyone help me with this please?
If you want a macro in Excel that works with a webpage like a person would, you can use IE automation. There you can tell IE to go to a specified URL, press explicit buttons, enter some text, wait for the page to load, etc. You'll find plenty guides for "excel vba ie automation".
I have an uncommon issue. I have an Excel file with macros. On all computers it was installed Office 2010 and everything worked fine, but a few days ago every computer was upgraded to Office 2013.
In code, at some point I enable or disable some buttons based on some criterias.
ThisWorkbook.Worksheets("Lab Orders").OLEObjects("CommandButton1").Enabled = False
On some computers this works fine , but on other computers this button is shown as enabled, and if the user clicks the button nothing happens, not even the animation where the the button is pressed, so it cannot execute the code behind. It's like an image. Any leads, or reasons why this is happening only on certain computers ?
I have this problem after the Office got upgraded. PS. All computers are in the same domain.
LATER EDIT
I changed the code line
ThisWorkbook.Worksheets("Lab Orders").CommandButton1.Enabled = True
and now I get this error: 438 at this row (I debbuged the file on a computer where this file does not work)
I suspect it's the issue with the latest Office updates - see if this fixes it: http://excelmatters.com/2014/12/10/office-update-breaks-activex-controls/
On all computers where you have the problem, check the box "Trust access to the VBA project object model" located in Options/Trust Center/Macro Settings
(Note that this will only apply to Excel, and if you are having the same problems on other MS Office softwares, you should do the same on them as well)
If that's still not working, read and apply all the checks on this page : https://support.office.com/en-gb/article/Enable-or-disable-macros-in-Office-files-12b036fd-d140-4e74-b45e-16fed1a7e5c6
Did not fit as a comment, so:
If I understand you correctly, some computers show the button enabled, while in fact it is disabled, right?
In this case it's normal no button press animation "visibly happens" as Windows knows the button was programmatically disabled.
The same thing happens if you hook a window (which has buttons on it) and send any button a WM to show itself as if it was enabled (while in fact it is not).
The reason it seems enabled on some computers may vary, most probably it's video card and/or driver 'issue', or some "strange alignment" (that particular OS with that particular graphics card & driver and DirectX, as well as those 'special' OLE settings, etc).In both cases, the screen area don't get "refreshed" (invalidated) after the button was disabled - so it seems enabled and gets "repainted" only when there was some user interaction around it. "Lazy redraw", so to speak :)
What one can do is, if it happens to be a serious issue, to find a way on one of these computers to get the button visibly disabled with some 'workaround' (e.g. changing button text after it was disabled -maybe even to exactly the same text-, or move it 1 pixel away and back, call InvalidateRect on it, etc), and apply that solution to your Excel macro.
UPDATE after reading asker's comment:
Oh I see. This could happen if the buttons are in a control array. The issue in this case, however should be present on all computers... Strange.
Anyway. Try to test the buttons' Index property to see if they are part of a control array, just to be sure. If yes:
a) remove them from the array and create buttons "independent" from each other
b) create a bool array and store there enabled/disabled status and write a function that updates buttons' text color property & handles button click event ignore/accept
I am using Excel 2010. I have already created and tested 2 complex forms frmA and frmB. They run and then save data to the workbook when user hits Apply or OK. Now my user wants frmA to be able to call frmB, do some work, then return to frmA. I thought it might look professional if they could be on a MultiPage, but I don’t want to rebuild and retest these forms.
Is there anyway I can create a 2-tab MultiPage form and then make frmA appear on the first tab, frmB appear on the second? Then I can simply handle the communication between the two instead of recoding.
Or maybe I can just paste all the objects and code from each form onto the tabs and do some object renaming. The retesting will be extensive, though.
If not, I will have to do frmA.show, (user clicks Open frmB button), frmA.Hide, frmB.Initialize, frmB.Show, (do some work, hit Apply/OK/Cancel), (update spreadsheet with changes), frmB.Hide/Unload, (frmA.Initialize due to changes), frmA.Show. I have not gotten this to work properly yet – frmA disappears and doesn’t come back, but I will work on it if the MultiPage is not possible.
Maybe you can save me time by pointing me in the right direction.
I am accepting #guitarthrower 's answer:
To answer your question, no you cannot embed one userform in another using Excel VBA. – guitarthrower