display pdf in mvc : Permanently rotate pdf pages SDK application service wpf html windows dnn 0234461096-Excel%20Hacks%20Tips%20and%20Tools%20for%20Streamlining%20Your%20Spreadsheets%20200735-part48

328 | Chapter 7, Macro Hacks
#133
Prevent Case Sensitivity in VBA Code
HACK
H A C K
133
Prevent Case Sensitivity in VBA Code
Hack #133
Keep Excel from distinguishing between capital and lowercase letters in your
text.
By default, Excel VBA code is case sensitive and uses what is known as
binary comparisons. This means that it sees
Cat
and
cat
as two different
words. There are many times, however, where you would like Excel VBA
not to use binary comparisons like this (e.g., when counting entries) and you
would like it to see
Cat
and
cat
as the same. You can do this easily in at least
two different ways.
Ucase Function
The
Ucase
function can compare text in a range of cells, allowing us to write
amacro that compares text case-insensitively. Here is one that displays a
message box if it encounters any cell in A1:A10 of the active sheet contain-
ing any case variation of the word
CAT
.
The code. To insert the code, press Alt/Option-F11, select Insert
Module,
and paste the following:
Sub CompareText()
Dim rCell As Range
For Each rCell In Range("A1:A10")
If UCase(rCell) = "CAT" Then
MsgBox rCell.Address & " has " & rCell & " in it"
End If
Next rCell
End Sub
Exit the VBE and return to Excel and save your workbook.
Running the hack. To run the macro, select Developer
Macros (pre-2007,
Tools
Macro
Macros...), select
CompareText
from the list, and click
Run. So if you had the word
CAT
(uppercase) in cells A1:A9 and the word
cat
(lowercase) in A10, the macro would display a message box for each
instance of the word “cat,” regardless of what case it is entered in.
Option Compare Text
The other method eliminates case sensitivity for all procedures (or macros)
in a specified module. This means that if you have 20 macros in a module,
each doing something different, running this code removes case-sensitivity
from all macros. This means that if we have the word
CAT
entered in 20
Permanently rotate pdf pages - 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#
reverse pdf page order online; pdf rotate one page
Permanently rotate pdf pages - 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 pdf page and save; how to save a pdf after rotating pages
Display AutoFilter Criteria
#134
Chapter 7, Macro Hacks | 329
HACK
macros doing different things, it will always be seen without regard to case
sensitivity.
We do this by placing the words
Option Compare Text
at the very top of the
module we want to make case insensitive. This will ensure that any proce-
dures placed within the same module as the procedure in the following sec-
tion will no longer be case sensitive.
The code. To insert the code, press Alt/Option-F11, select Insert
Module
and paste the following:
Option Compare Text
Sub OptionCompareText()
Dim rCell As Range
For Each rCell In Range("A1:A10")
If rCell = "CAT" Then
MsgBox rCell.Address & " has " & rCell & " in it"
End If
Next rCell
End Sub
Exit the VBE and return to Excel and save your workbook.
Running the hack. To run the macro select Developer
Macros (pre-2007,
Tools
Macro
Macros...), select
OptionCompareText
from the list, and
click Run.
To make all procedures within the Module case sensitive again we would
replace
Option Compare Text
with
Option Compare Binary
.
H A C K
134
Display AutoFilter Criteria
Hack #134
Use a custom function to display the criteria used for any column in a table
with an AutoFilter applied.
Excel’s AutoFilter is one of its most useful features, but one small drawback
is that it’s hard to tell the criteria being applied to the data at a glance. A
custom function can display the criteria being used for each column of the
table that has had an AutoFilter applied.
Let’s say you have some data set up in a table and you have applied AutoFil-
ters. First, you need to ensure that you have at least two rows above the
table. Then, right-click on your sheet tab, select ViewCode (or press Alt/
Option-F11), select Insert
Module, and paste the following code:
Function AutoFilter_Criteria(Header As Range) As String
Dim strCri1 As String, strCri2 As String
VB.NET PDF Page Redact Library: redact whole PDF pages in vb.net
extract, copy, paste, C#.NET rotate PDF pages, C#.NET If you need to permanently removing visible text and our redact function API and redact entire PDF pages.
pdf rotate pages separately; rotate pdf pages in reader
C# PDF Page Redact Library: redact whole PDF pages in C#.net, ASP.
Page: Rotate a PDF Page. PDF Read. Text: Extract Redaction is the process of permanently removing visible our redact function API to redact entire PDF pages.
save pdf after rotating pages; how to rotate page in pdf and save
330 | Chapter 7, Macro Hacks
#134
Display AutoFilter Criteria
HACK
Application.Volatile
With Header.Parent.AutoFilter
With .Filters(Header.Column - .Range.Column + 1)
If Not .On Then Exit Function
strCri1 = .Criteria1
If .Operator = xlAnd Then
strCri2 = " AND " & .Criteria2
ElseIf .Operator = xlOr Then
strCri2 = " OR " & .Criteria2
End If
End With
End With
AutoFilter_Criteria = UCase(Header) & ": " & strCri1 & strCri2
End Function
Close the window to get back to your worksheet and save your workbook.
Now to add the custom function to each cell two rows above the column
heading. Click in cell B1, enter the following formula, and press Enter:
=AutoFilter_Criteria(B3)
Then, copy across to D3. Your data should something likeFigure7-25.
As you change the selection criteria via the AutoFilter switches in columns
B, C, and D, the formula results in B3:D3 that showthe criteria you selected
will change accordingly, thus allowing you to always see at a glance the cri-
teria used in your filter.
Remember that if you do not have AutoFilters applied, you
will have nothing in these cells.
Figure 7-25. Data showing criteria selection in B3:D3
VB.NET Image: How to Process & Edit Image Using VB.NET Image
VB.NET Image Rotator Add-on to Rotate Image, VB.NET Watermark Maker to VB.NET image editor control SDK, will the original image file be changed permanently?
rotate pages in pdf expert; rotate pages in pdf permanently
C# HTML5 Viewer: Load, View, Convert, Annotate and Edit Excel
to change view orientation by clicking rotate button. users can convert Excel to PDF document, export Users can save Excel annotations permanently by clicking
pdf rotate pages and save; pdf reverse page order
331
Chapter 8
C H A P T E R   E I G H T
Cross-Application Hacks
Hacks 135–138
With the ever-increasing usage of computers in our society, it is fast becom-
ing necessary for most people to use a combination of applications in their
work. Microsoft Office 2007’s enhanced capabilities for cooperation
between its applications makes combining Excel with Word, Access, and
Outlook easier than before. The hacks in this chapter cover some of the
most common problems.
H A C K
135
Import Data from Access 2007 into Excel 2007
Hack #135
VBA can be used to import data into Excel from an Access database, but
Access 2007 has undergone some major, important changes that effect how
we create connections to Access2007 databasesand also how we work with
the Access 2007 Objects Model.
To communicate with Access 2007 databases via VBA, the preferable
method is to use Data Access Objects (DAO), which is the object model
written specifically for Access. It’s an object library with a collection of data-
base objects.
This hack works with Excel 2007, Access 2007, Windows
XP, and Windows Vista.
For the purpose of this hack, wewill usethedatabase file Northwind 2007.accdb
(a database created and stored in Access 2007 that can be used for test
purposes).
VB.NET Image: How to Create a Customized VB.NET Web Viewer by
used document & image files (PDF, Word, TIFF btnRotate270: rotate image or document page in burnAnnotationToImages: permanently burn drawn annotation on page in
how to rotate one page in pdf document; rotate pdf pages on ipad
How to C#: Cleanup Images
By setting the BinarizeThreshold property whose value range is 0 to 255, it will permanently modify the image to 1bpp grayscale image of the Detect Blank Pages.
permanently rotate pdf pages; how to rotate one page in a pdf file
332 | Chapter 8, Cross-Application Hacks
#135
Import Data from Access 2007 into Excel 2007
HACK
If you installed Office 2007 via a downloadable link, you
may need to download the Northwind 2007 example file
from the Microsoft web site: http://office.microsoft.com/en-
us/templates/TC012289971033.aspx.
The code we will use does the following:
1. Connect to the database (in this case Northwind 2007.accdb).
2. Send a Structured Query Language (SQL) question order to populate a
recordset with the required records. A recordset can be thought of as a
container used to hold a set of records from a database table, which is
then copied and imported into Excel.
3. Close the connection to the database.
4. Display a message stating that the data successfully transferred.
The first step is to set a reference to the newlibrary (Microsoft Office 12
Access Database Engine Object Library). In the Visual Basic Editor, go to
Tools
References…, locate and check the Microsoft Office 12 Access Data-
base Engine Object Library in the list, and then click OK and exit the VBE.
The following code example shows a few possible approaches to retrieve
data in a flexible way:
Retrieve a whole table’s data
Tables in databases can contain a great number of records, so you
should retrieve all records only when necessary and if the table is rela-
tively small. For this purpose, the example we are using is a table
recordset type and only a table name can be the source.
Retrieve a selected group of data based on SQL queries
This is the most common approach, in which we create an SQL query
that includes a specific
WHERE
clause to retrieve the wanted records. In
the example, we use the snapshot recordset type. A snapshot-type
recordset is static, which means it is not editable and therefore it can
only be read.
SQL is a powerful language, which we can use to create very
complex questions, but it’s beyond the scope of this hack to
delve into it deeper.
For more on SQL, see SQL Hacks by AndrewCumming and
Gordon Russell (O’Reilly).
How to C#: Color and Lightness Effects
Geometry: Rotate. Image Bit Depth. Color and Contrast. Cleanup Images. Effect VB.NET How-to, VB.NET PDF, VB.NET Word range is 0 to 255, it will permanently modify
rotate pdf page permanently; pdf rotate single page
Import Data from Access 2007 into Excel 2007
#135
Chapter 8, Cross-Application Hacks | 333
HACK
Execute a stored report in the database
Instead of creating the SQL question in VBA, we can create and save the
question in the Access 2007 database and then execute it from Excel
2007. Here we use the forward recordset type, which is efficient and
allows us to move forward in the recordset (if this is what we require).
The Code
To insert the code, right-click on the worksheet name, go to View Code,
select Insert
Module in the VBE and enter the following:
Option Explicit
'A reference via Tools | References... to Microsoft Office 12 Access
Database Engine Object Library
'must be set in order to get the below code to work properly.
Sub Import_Data_Access_2007()
'The pathway to and the name of the database.
Const stDB As String = "c:\Northwind 2007.accdb"
'The table to be retrieved all data from.
Const stWholeTable As String = "Shippers"
'The SQL query with one condition.
Const stSQL As String = "SELECT Company,City FROM Shippers " & _
"WHERE [Country/Region]='USA'"
'The name of the stored report that will be executed.
Const stStoredReport As String = "Order Summary"
'A general error handling routine.
On Error GoTo Error_Handling
'Variables for the DAO objects.
'The database object.
Dim db As DAO.Database
'The table defintion variable for a saved table object.
Dim tdf As DAO.TableDef
'The recordset object.
Dim rs As DAO.Recordset
'Variables for the Excel objects.
Dim wbTarget As Workbook
Dim wsOrders As Worksheet
Dim wsShippers As Worksheet
Dim wsProducts As Worksheet
Dim rnOrders As Range
Dim rnShippers As Range
334 | Chapter 8, Cross-Application Hacks
#135
Import Data from Access 2007 into Excel 2007
HACK
Dim rnProducts As Range
Dim lnCounter As Long
'Instantiate the Excel objects.
Set wbTarget = ActiveWorkbook
With wbTarget
Set wsOrders = .Worksheets(1)
Set wsShippers = .Worksheets(2)
Set wsProducts = .Worksheets(3)
End With
Set rnOrders = wsOrders.Range("A2")
Set rnShippers = wsShippers.Range("A2")
Set rnProducts = wsProducts.Range("A2")
'Instantiate the DAO objects and at the same time create
'a connection to the database and populate the 1st recordset.
Set db = OpenDatabase(stDB)
Set tdf = db.TableDefs(stWholeTable)
Set rs = tdf.OpenRecordset(dbOpenTable)
'To avoid that the screen flicker during dataprocessing.
Application.ScreenUpdating = False
'Populate the first row in the target worksheet with fieldnames.
For lnCounter = 0 To rs.Fields.Count - 1
'The array of fieldnames is 0-based which we need to consider when
'populating the worksheet.
wsShippers.Cells(1, lnCounter + 1).Value = rs.Fields(lnCounter).Name
Next lnCounter
'Copy the retrieved records.
rnShippers.CopyFromRecordset rs
'Clear the recordset variable.
Set rs = Nothing
'Instantiate and populate the 2nd recordset.
Set rs = db.OpenRecordset(stSQL, dbOpenSnapshot)
'Populate the first row in the target worksheet with fieldnames.
For lnCounter = 0 To rs.Fields.Count - 1
'The array of fieldnames is 0-based which we need to consider when
'populating the worksheet.
wsProducts.Cells(1, lnCounter + 1).Value = rs.Fields(lnCounter).Name
Next lnCounter
'Copy the retrieved records.
rnProducts.CopyFromRecordset rs
'Clear the recordset variable.
Set rs = Nothing
'Instantiate and populate the 3rd recordset.
Import Data from Access 2007 into Excel 2007
#135
Chapter 8, Cross-Application Hacks | 335
HACK
Set rs = db.OpenRecordset(stStoredReport, dbOpenForwardOnly)
'Populate the first row in the target worksheet with fieldnames.
For lnCounter = 0 To rs.Fields.Count - 1
'The array of fieldnames is 0-based which we need to consider when
'populating the worksheet.
wsOrders.Cells(1, lnCounter + 1).Value = rs.Fields(lnCounter).Name
Next lnCounter
'Copy the retrieved records.
rnOrders.CopyFromRecordset rs
'Close the objects.
rs.Close
db.Close
MsgBox "All data has been successfully transfered.", vbOKOnly
'Make sure that it only exist one exit point in the procedure.
ExitSub:
'Release the objects from memory.
Set rs = Nothing
Set tdf = Nothing
Set db = Nothing
Exit Sub
Error_Handling:
MsgBox "Error number: " & Err.Number & vbNewLine & _
"Description: " & Err.Description, vbOKOnly
Resume ExitSub
End Sub
Now, close down the VBE, return to Excel, and save your workbook.
Running the Hack
To run the code, select Developer
Macros, highlight Import_Data_
Access_2007 in the list, and click Run. You will see the required recordset
populate your Excel spreadsheet, as shown inFigure8-1.
Armed with this code, you can comfortably connect to an Access database
from within Excel 2007 and import any information you require.
The code as is assumes the Northwind 2007.accdb test file is
saved to your C: drive. If you have saved it somewhere else,
you will need to put the full pathname in the code.
—Dennis Wallentin
336 | Chapter 8, Cross-Application Hacks
#136
Retrieve Data from Closed Workbooks
HACK
H A C K
136
Retrieve Data from Closed Workbooks
Hack #136
Use VBA and a database approach to populate a workbook with data
retrieved from closed workbooks. The same technique can be applied to
Word and Access.
It’s common for Excel users to consolidate data from several other work-
books into one main workbook. By using an approach combining VBA and
adatabase, we can retrieve data from workbooks without opening them.
There are several techniques you could use to do this, including links and
query tables, but these techniques tend to be difficult to maintain and time
consuming to update when working with a larger number of workbooks.
By contrast, the approach in this hack offers the following advantages:
• The underlying workbooks do not need to be open in order to
retrieve data from them.
• The code is easier to maintain, because it is in the main workbook.
• It consumes resources only when the code is being executed.
• It forces Excel to create an identical structure for all involved work-
books.
A database approach comes with some general requirements to consider
when designing the main workbook and the underlying workbooks. All
worksheets (including the main worksheet) need to have the same design
and setup:
Figure 8-1. Data called from Access 2007 via VBA for Excel Code
Retrieve Data from Closed Workbooks #136
Chapter 8, Cross-Application Hacks | 337
HACK
• The data needs to be in an identical table structure, with identical
names for each column in use.
• Each column needs to have only one data type—for instance, inte-
ger or string.
• All cells in each rowmust have values; i.e., the value
#Null!
cannot
exist.
• An identical name for the worksheets can be used to increase the
simplicity when creating the code.
Excel 2007 and Windows Vista
With Office 2007, Microsoft introduces a newdata provider,
Microsoft.ACE.
OLEDB.12.0
,which makes it possible to connect to Microsoft Access 2007
databases (file extension .accdb) and to Microsoft Excel 2007 workbooks
(file extension .xlsx). When used with Microsoft Excel 2007, the workbooks
are treated as database sources. In this hack, the data provider is used to
connect to the underlying closed workbooks and is part of the connection
string shown in this example:
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=c:\Test\Data.xlsx;" & _
"Extended Properties=""Excel 12.0;HDR=YES"""
The first extended property in the connection string does not explicitly refer
to Excel 2007, which has the version number 12; rather, it’s an indication
that the provider works with version 2007 and later versions of Excel.
The second extended property,
HDR
, indicates whether the tables in the
underlying worksheets have column names (field names) or not. In general,
it’s highly recommended to use column names in the first rowin the table,
so the value of this property should be set to
YES
.
Windows Vista comes with a new version of the Microsoft ActiveX Data
Objects library 6.0, which can be used with Excel 2007. This external library
is used to create a recordset that holds the retrieved data from each underly-
ing workbook and from which the data is copied into the main workbook.
When the connection has been established with an underlying workbook,
we need to help Excel to both locate and select the required data. This is
done via SQL statements. These statements can be rather complex, depend-
ing on the specific requirements. For our purpose, we set focus on the
options we have to locate the data.
To select all data in one worksheet, we can use the following SQL
expression:
"SELECT * FROM [WorksheetName$]"
Documents you may be interested
Documents you may be interested