display pdf in mvc : Change orientation of pdf page software control project winforms web page windows UWP 0234461096-Excel%20Hacks%20Tips%20and%20Tools%20for%20Streamlining%20Your%20Spreadsheets%20200728-part40

258 | Chapter 6, Hacking Formulas and Functions
#104
Evaluate a Text Equation
HACK
Again, you could also hardcode the date like this:
=CHOOSE(WEEKDAY("31 July 2007"),"Sunday","Monday","Tuesday",
"Wednesday","Thursday","Friday","Saturday")
All of these formulas will return the same result:
Tuesday
.But remember that
the underlying value of your cell will still be 31-Jul-2007, even though your
cell reads Tuesday.
H A C K
104
Evaluate a Text Equation
Hack #104
By using an old Excel4 macro function called EVALUATE in a special way, you
can easily evaluate text equations (an equation formatted as text and
interpreted as such by Excel) as actual calculations.
Sometimes you might want to evaluate an equation that is formatted and
interpreted as text by Excel, such as 21+69+89+25+31. If these numbers
were typed into a cell with no equals (=) sign, Excel would read them as text
and they would be treated as such with regards to calculation. But with this
hack, we can get Excel to evaluate the equation anyway.
Set up your spreadsheet like the one shown inFigure6-29, ensuring that
none of your formulas have an equals sign (
=
). This will ensure that Excel
treats them as text.
In our example, we want to leave the original cell contents intact and use
Column B to return the result of the equations.
Click in cell B1 and try the usual suspect of
="="&A1
.You will see that the
results in B1 only show
=21+69+89+25+31
, rather than evaluating the for-
mula. We need to apply the
EVALUATE
function to get the results we want.
Again, click in cell B1 and enter the following formula:
=EVALUATE(A1)
Figure 6-29. Mixture of text equations
Change orientation of pdf page - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
rotate a pdf page; rotate pages in pdf
Change orientation of pdf page - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
rotate single page in pdf file; rotate individual pdf pages reader
Lookup from Within a Cell #105
Chapter 6, Hacking Formulas and Functions | 259
HACK
Excel won’t like this and will return the error message “That function is not
valid.” But we can force it to be valid. Click in cell B1 and select Formulas
Defined Names
Define Name (pre-2007, Insert
Name
Define). In
the Names: box, type
Result
(or any valid range name), and type
=EVALUATE($A1)
in the Refers to: box. Click OK.
You must select cell B1 and used a relative rowreference for
$A1.
Now click in cell B1, enter
=Result
, and copy down to B5.
You will get the results shown inFigure6-30.
EVALUATE
even follows the rules of parentheses.
H A C K
105
Lookup from Within a Cell
Hack #105
Usually, in order to use one of Excel’s lookup functions, you are required to
lookup from within a table of cells in a worksheet. This hack shows how to
perform a lookup on a small number of items, without leaving the cell.
Let’s assume you have a changing value in A1 and want to return a result to
B1 that varies based on the value in A1. For example, keeping it simple, say
you have a validation list in cell A1 that a user can choose from any one of
either Cat, Dog, Mouse, Horse or Rabbit. Based on their choice, we want to
display a different result in B1.
First, set up a validation list. In cell G1, type in the word
Cat
,type
Dog
in G2,
Mouse
in G3,
Horse
in G4, and
Rabbit
in G5. Then, click in cell A1 and select
Data
Data Tools
Data Validation (pre-2007, Data
Validation). Select
List from the Allow: box, highlight G1:G5 in the Source: box, and click OK.
Figure 6-30. Results of using EVALUATE function as a named range
VB Imaging - Micro QR Code Generation Guide
settings, like image size, rotation/orientation, data mode You can change the location by setting X and PDFDocument = New PDFDocument("C:\\Sample.pdf") Dim page
save pdf rotate pages; reverse page order pdf
VB.NET Image: VB Code to Read and Scan Linear & 2D Barcodes
barcode from a certain image and document page area 1D and 2D barcodes from VB project PDF & MS Detect and report barcodes at any orientation and rotation angle
rotate pdf page; how to rotate one page in pdf document
260 | Chapter 6, Hacking Formulas and Functions
#105
Lookup from Within a Cell
HACK
CHOOSE and MATCH
Now, to perform a lookup from within a cell, we’ll use a combination of the
CHOOSE
function nested with the
MATCH
function. In B1, enter the following
formula:
=CHOOSE(MATCH(A1,{"Cat","Dog","Mouse","Horse","Rabbit"},0),"Cat Food","Dog
Food","Mouse Food","Horse Food","Rabbit Food")
Click back in cell A1 and make a selection from the validation list. Once
you have chosen a value from Cat, Dog, Mouse, Horse, or Rabbit, you
will see the results, shown
in
Figure 6-31. The use of
{"Cat","Dog","Mouse","Horse","Rabbit"}
in the
MATCH
formula is knowas
an array constant, not be confused with array formulas.
Keeping It Clean and Global
The main problems with the formula in the previous section are its length
and, most importantly, the fact that editing the lookup values or the array
constant would require doing each cell individually, or using the Find and
Replace option, if possible. This is where we can use range names or, specifi-
cally named constants (key values we have given friendly names to). How-
ever, once we’ve done that, we can no longer use the
CHOOSE
Function. We’ll
then need to use the
INDEX
function instead.
Try this. First, select Formulas
Defined Names
Define Name (pre-2007,
Insert
Name
Define). Enter the word
Pet
in the Names: box and
={"Cat","Dog","Mouse","Horse","Rabbit"}
in the “Refers to:” box, and click
OK. Now, create another defined name using
PetFood
in the “Names:” box,
={"Cat Food","Dog Food","Mouse Food","Horse Food","Rabbit Food"
} in the
“Refers to:” box, and click OK.
Now, click in cell B2 and enter the following formula:
=INDEX(PetFood,MATCH(A1,Pet,0))
If you need to edit the named constants
PetFood
or
Pet
,you can nowdo so
in one location and the result will flow through the entire workbook.
Figure 6-31. Result of picking dog from validation list in A1
Generate Barcodes in Web Image Viewer| Online Tutorials
Change Barcode Properties. Select "Orientation" to set barcode rotation angle; Select "Width" and RasterEdge OCR Engine; PDF Reading; Encode & Decode JBIG 2 Files
reverse page order pdf online; saving rotated pdf pages
C# Word - Document Pages Processing in C#.NET
Set Page Orientation in Word Document. You can set page orientations of all pages in document. We provide two type for pages orientation
pdf rotate single page and save; rotate pdf page few degrees
Lookup from Within a Cell #105
Chapter 6, Hacking Formulas and Functions | 261
HACK
Lookup Scale
So far, we have only looked up text values. However, you’ll often need to
lookup numbers that match a scale. That is, all results between 0 and 99.99
should return one result, while those between 100 and 199.99 another, and
so on. Let’s say you need to match the sales amount by person to determine
their commission percentage.
Set up some data in cells A1:A12, as shown inFigure6-32.
Select Formulas
Defined Names
Define Name (pre-2007, Insert
Name
Define). Type
Commission
in the Names: box and
={0,0.1,0.2,0.
3,0.4,0.5,0.6,0.7,0.8,0.9,1}
in the Refers to: box, and click OK.
Now,
create
another
named
range
called
Sales
,
enter
={0,100,200,300,400,500,600,700,800,900,1000}
in the Refers to: box and
click OK. Click in cell B2 and enter in the following formula:
=INDEX(Commission,MATCH(A1,Sales,1))
Figure 6-32. Data showing sales amounts
C# Imaging - Micro QR Code Generation Guide
settings, like image size, rotation/orientation, data mode You can change the location by setting new PDFDocument(inputDirectory + "Sample.pdf"); BasePage page
save pdf rotated pages; pdf rotate just one page
C# Imaging - Read PDF 417 Barcode in C#.NET
Read PDF 417 in entire PDF, Word, Excel or PPTX page region with C# code. C# code to scan multiple PDF 417 barcodes in any orientation.
rotate a pdf page; rotate pdf page
262 | Chapter 6, Hacking Formulas and Functions
#105
Lookup from Within a Cell
HACK
Press Enter and copy down to cell A12. This will return a percentage
between 0 and 100, based on the Sales $ value in A1. Your results will look
like those shown inFigure6-33.
In this hack’s example, both of the array constants (entered
in the Refers to: box) are in ascending order and we have
used
1
for the optional
Match_type
argument for the
MATCH
function. If you use descending order,
Match_type
must be
-1
.
Figure 6-33. Results of using formula
VB.NET Image: How to Create Visual Basic .NET Windows Image Viewer
different image and document formats, including png, jpeg, gif, tiff, bmp, PDF, and Word Apart from that, you are entitled to change the orientation of an
how to rotate all pages in pdf at once; rotate single page in pdf reader
VB.NET Image: Read and Scan Codabar on Image and Document within
Read and scan Codabar barcode from PDF document within on scanned Codabar, including location, orientation, and even format, you only need to change the sample
pdf rotate pages and save; how to rotate one page in pdf document
263
Chapter 7
C H A P T E R   S E V E N
Macro Hacks
Hacks 106–134
Macros make it wonderfully easy to automate repetitive tasks in Excel, but
the way they’re created and the facilities for using them are sometimes prob-
lematic. Fortunately, Excel is flexible enough that you can fix those prob-
lems and create new features with a minimum of effort.
H A C K
106
Speed Up Code While Halting Screen Flicker
Hack #106
When you record macros from within Excel, the code it generates often
produces screen flicker, which not only slows down your macro, but also
makes the macro’s activity look very disorganized. Fortunately, you can
eliminate screen flicker while at the same time speeding up your code.
One drawback with recorded macros in Excel is that the code produced is
often very inefficient. This can mean macros that should take a matter of
seconds to complete often take a lot longer and look very unsightly. Also,
when you write macros using the macro recorder, all keystrokes are
recorded, whether they are meant to be or not. This means that if you make
an error and then correct it, the keystrokes required to complete those
actions also will be recorded in your macro code.
If you have played around a bit with macros or dabbled in VBA code, you
might have heard of the
Application.ScreenUpdating
property. By setting
ScreenUpdating
to False at the start of a macro, you will not only stop the
constant screen flicker associated with a recorded macro, but also speed up
the macro’s execution. The reason this method speeds up code is because
Excel no longer needs to repaint the screen whenever it encounters com-
mands such as
Select
,
Activate
,
LargeScroll
,
SmallScroll
, and many others.
To include
Application.ScreenUpdating = False
at the beginning of your
existing macro, select Developer
Code
Macros (pre-2007, Tools
264 | Chapter 7, Macro Hacks
#107
Run a Macro at a Set Time
HACK
Macro
Macros) or press Alt/Option-F8. Select your macro, click the Edit
button, and enter the following code:
'
' a Macro
' Macro recorded 1/01/2007 by OzGrid.com
'
'
Application.ScreenUpdating = False
'YOUR CODE
Application.ScreenUpdating = True
End Sub
Note howyou set
ScreenUpdating
back to
True
on completion. Although
Excel will set this back to
True
whenever focus is passed back to Excel (in
other words, when your macro finishes), in most cases it pays to play it safe
and include the code at the end.
In some cases, you might find that
ScreenUpdating
is set back to
True
before
your recorded macro completes. This can happen with recorded macros that
use the
Select
command frequently. If this does happen, you might need to
repeat the line
Application.ScreenUpdating = False
in other parts of your
macro.
H A C K
107
Run a Macro at a Set Time
Hack #107
Many times it would be great to run a macro at a predetermined time or at
specified intervals. Fortunately, Excel provides a VBA method that makes this
possible.
The
Application.OnTime
method can make macros run automatically, once
you’ve done some setup. Suppose you have a macro that you want to run
each day at 15:00 (3:00 p.m.). First you need to determine howto kick off
the
OnTime
method. You can do this using the
Workbook_Open
event in the pri-
vate module of the Workbook object.
In Windows, the fastest way to get to the private module of the Workbook
object is to press Alt/Option-F11 and double-click
ThisWorkbook
(pre-2007,
right-click the Excel icon next to File and select ViewCode). On a Macin-
tosh, open the VBE and then open the module for the Workbook object
from the Project window. Enter the following code:
Private Sub Workbook_Open()
Application.OnTime TimeValue("15:00:00"), "MyMacro"
End Sub
Run a Macro at a Set Time
#107
Chapter 7, Macro Hacks | 265
HACK
MyMacro
should be the name of the macro you want to run. It should reside
in a standard module and contain the
OnTime
method, as follows:
Sub MyMacro()
Application.OnTime TimeValue("15:00:00"), "MyMacro"
'YOUR CODE
End Sub
This will run the procedure
MyMacro
at 15:00 each day, so long as Excel is
open.
Nowsuppose you want to run
MyMacro
at 15-minute intervals after opening
your workbook. Again you will kick it off as soon as the workbook opens,
so press Alt/Option-F11 and double-click
ThisWorkbook
(pre-2007, right-
click the Excel icon next to File and select ViewCode). Enter the following
code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime dTime, "MyMacro", , False
End Sub
Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:15:00"), "MyMacro"
End Sub
In any standard module (accessed by selecting Insert
Module), enter the
following code:
Public dTime As Date
Sub MyMacro()
dTime = Now + TimeValue("00:15:00")
Application.OnTime dTime, "MyMacro"
'YOUR CODE
End Sub
Note howyou pass the time of 15 minutes to the public variable
dTime
.This
is so that you can have the
OnTime
method cancelled in the
Workbook_
BeforeClose
event by setting the optional
Schedule
argument to
False
.The
Schedule
argument is
True
by default, so by setting it to
False
,you are tell-
ing Excel to cancel the
OnTime
method that is set to run at a specified time.
If you didn’t pass the time to a variable, Excel would not know which
OnTime
method to cancel, as
Now + TimeValue("00:15:00")
is not static, but becomes
static when passed to a variable. If you didn’t set the optional
Schedule
argu-
ment to
False
,the workbook would open automatically every 15 minutes
after you close it and run
MyMacro
.
266 | Chapter 7, Macro Hacks
#108
Use CodeNames to Reference Sheets in Excel Workbooks
HACK
H A C K
108
Use CodeNames to Reference Sheets in Excel
Workbooks
Hack #108
Sometimes you need to create a macro that will work even if the sheet
names that it references change.
If you have recorded a macro in Excel that references a specific sheet in your
workbook, you know the code will continue to work only if the sheet name
remains the same. For example, if your worksheet is named Budget, and the
code in your macro reads
Sheets("Budget").Select
and then you change the
worksheet name, the macro will no longer work. This is because the macro
recorder generates code based on the sheet’s tab name or on the name you
see when working in Excel.
To overcome this limitation, you have two options, the first of which is to
use index numbers. A sheet’s index number is determined by its position in
the workbook. The leftmost sheet will always have an index number of 1,
the next worksheet immediately to the right will always have an index num-
ber of 2, and so on. Excel VBA enables you to specify any sheet by using its
index number, but unfortunately Excel does not use this method when you
record a macro.
Also, although using an index number such as
Sheets(3).Select
is a better
option than using
Sheets("Budget").Select
, the sheet’s position in the
workbook could change if you add, remove, or move sheets.
Instead of using index numbers, savvy VBA coders use CodeNames. Each
sheet in a workbook is given a unique CodeName that does not change even
when that sheet is moved or renamed, or when any other sheets are added.
You can see a sheet’s CodeName only by going into the VBE (press Alt/
Option-F11) and then displaying the Project window if necessary (select
View
Project Explorer or press Ctrl-R).
InFigure7-1, the CodeName for the sheet with a tab name of Budget is
Sheet3. A sheet’s CodeName is always the name that appears outside the
parentheses when you look in the Project Explorer. You can reference this
sheet with VBA code in the workbook by using
Sheet3.Select
,as opposed
to
Sheets("Budget").Select
or
Sheets(3).Select
.
If your workbook is already full of VBA code (recorded or written) that does
not use CodeNames, you can change the code at the project level (all code in
all modules in the workbook) by selecting Edit
Replace… while in the
VBE.
The only time you cannot use a sheet’s CodeName is when
you reference a sheet that is in a workbook different from the
one in which the code resides.
Connect Buttons to Macros Easily #109
Chapter 7, Macro Hacks | 267
HACK
H A C K
109
Connect Buttons to Macros Easily
Hack #109
Instead of giving every button its own macro,it’s sometimes more convenient
to create a single macro that manages all the buttons.
Users generally prefer to run macros via either a shortcut key or a button
they can simply click, instead of having to hunt through menus and dialog
boxes. The most popular way to access a button is from the Forms toolbar,
available by selecting Developer
Controls
Insert (pre-2007, View
Toolbars
Forms). These buttons, in our opinion, are the best choice for
running macros, especially recorded macros, because recorded macros often
require the user to be on a specific worksheet when the macro is run. Sim-
ply put, recorded macros always use
ActiveSheet
if you recorded the macro
without changing sheets. This means that if the user is not on the required
worksheet (in other words, the same one you were on when recording), the
recorded macro will often “bug out” and/or make changes on the wrong
sheet. By using a button on a worksheet, you can force the user to navigate
to that worksheet button to set the right conditions for the macro before
clicking it.
Why a button from the Forms toolbar and not the Control
Toolbox toolbar? Buttons are almost always used to detect a
mouse click and then run a specified macro. You should use
acommand button from the Control Toolbox toolbar only
when you need to determine other events such as double-
clicks, right-clicks, and so on. The controls on the Control
Toolbox toolbar are known as ActiveX controls, and using
them to only run a macro adds unnecessary overhead to
Excel, especially if you use a lot of buttons. It is akin to using
a sledgehammer to bang in a nail.
When you have a lot of buttons in a workbook and each button is used to
run a specified macro, you can attach the macros to the buttons by right-
clicking the button border and choosing Assign Macro. Then find the cor-
rect macro in the Assign Macro dialog, as shown inFigure7-2.
Figure 7-1. CodeNames and sheet names in the VBE Project window
Documents you may be interested
Documents you may be interested