display pdf winform c# : How to rotate one pdf page control software platform web page windows html web browser 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200751-part679

parameter with an initial value when the QueryTable is first created, and then to have it prompt the
user for a new value each time the QueryTable is refreshed after that.
Sub CreateQueryTableWithParameters()
Dim objParam As Parameter
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
Dim strSQL As String
‘ Define the connection string and destination range.
strConnection = “ODBC;DSN=MS Access Database;” & _
“DBQ=C:\Files\Northwind 2007.accdb;”
Set rngDestination = Sheet3.Range(“A1”)
‘ Create a parameter query.
strSQL = “SELECT [Product Name], [List Price], [Quantity Per Unit]” & _
“ FROM Products” & _
“ WHERE Category = ?;”  ‘ This is the parameter.
‘ Create the QueryTable.
Set qryTable = Sheet3.QueryTables.Add(strConnection, rngDestination)
‘ Create the parameter and give it an initial value.
Set objParam = qryTable.Parameters.Add(“Select Category”, _
xlParamTypeVarChar)
objParam.SetParam xlConstant, “Beverages”
‘ Populate the QueryTable.
qryTable.CommandText = strSQL
qryTable.CommandType = xlCmdSql
qryTable.Refresh False
‘ Configure the parameter to prompt the user for a
‘ new value the next time the QueryTable is refreshed.
objParam.SetParam xlPrompt, “Select Category”
End Sub
You can also configure a Parameterto retrieve its value from a cell on the worksheet, and to automati-
cally refresh the QueryTable whenever the value in that cell changes. This allows you to, for example,
provide the users with a data validation list of choices for the parameter, rather than forcing them to
remember all the potentially valid values. This feature is also very useful when your query requires mul-
tiple parameters. Rather than having to contend with a prompt dialog for every parameter, the user can
simply make the appropriate entries in the cells that specify the parameters.
If you create your own Parameter objects, they must be created in the same order
that the corresponding parameters appear in the SQL statement.
478
Chapter 21: Managing External Data
How to rotate one 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#
how to reverse pages in pdf; how to rotate a pdf page in reader
How to rotate one 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
pdf rotate pages and save; how to change page orientation in pdf document
If you replace the final line of code in the preceding procedure with the following two lines of code, the
Parameterwill retrieve its value from cell F1 and refresh the QueryTableautomatically whenever the
value in cell F1 changes:
‘ Configure the parameter to retrieve its value from cell F1
‘ and refresh the QueryTable whenever that value changes.
objParam.SetParam xlRange, Sheet3.Range(“F1”)
objParam.RefreshOnChange = True
In the previous examples, you used all three options provided by the Parameter.SetParammethod.
The first argument of the SetParam method specifies the option to be used, and the second argument
provides additional data for that option. The three SetParam options are as follows:
xlConstant—Tells the parameter to use the value specified by the second argument. The sec-
ond argument can be anything that returns a value of the correct data type for the parameter,
including a variable, a cell reference, or a hard-coded value.
xlPrompt—Tells the parameter to prompt the user for its value. The second argument is the
prompt string that will appear in the dialog box.
xlRange—Tells the parameter to retrieve its value from the cell specified by the second argu-
ment. The second argument must be a valid Range object.
QueryTables from Web Queries
QueryTablesare not limited to retrieving data from traditional databases. They can also retrieve data
from web sites. Creating a QueryTable based on a web site is known as performing a Web Query. A
simple example of a QueryTable based on a Web Query follows. It pulls in the most recent data on
major U.S. financial indexes from the Wall Street Journal web site:
Sub CreateWebQuery()
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
‘ Define the connection string and destination range.
strConnection = “URL;http://online.wsj.com/public/page/” & _
“markets.html?mod=hpp_us_indexes”
Set rngDestination = Sheet4.Range(“A1”)
‘ Create the QueryTable.
Set qryTable = Sheet4.QueryTables.Add(strConnection, rngDestination)
‘ Populate the QueryTable.
qryTable.WebSelectionType = xlSpecifiedTables
qryTable.WebTables = “19”
qryTable.WebFormatting = xlWebFormattingAll
qryTable.Refresh False
End Sub
479
Chapter 21: Managing External Data
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Extract PDF Pages, Copy Pages from One PDF File and Paste into Others in C#.NET Program. Free PDF document processing SDK supports PDF page extraction, copying
rotate all pages in pdf; rotate pdf pages individually
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
C# developers can easily merge and append one PDF document to document imaging toolkit, also offers other advanced PDF document page processing and
how to permanently rotate pdf pages; pdf rotate pages separately
Note the similarity between this code and the code used to create a QueryTable from a relational
database. The differences are the content of the connection string and a different set of properties that
must be set prior to refreshing the QueryTable.
You inform the QueryTable that it will be performing a Web Query by specifying URL as the first argu-
ment in the connection string. The rest of the connection string is a URL that specifies the web page from
which you want to retrieve the data.
You could retrieve an entire web page with your Web Query, but this is rarely what you want to do.
Most web pages are structured as a group of HTML tables nested and arranged to produce the visual
layout you see in your browser. The Web Querying functionality of the QueryTable object lets you take
advantage of this fact by allowing you to specify just the table or tables on the web site that you want to
retrieve.
This is accomplished by setting the WebSelectionType property to xlSpecifiedTables and then 
listing the index numbers of the tables you want to retrieve in the WebTablesproperty. If you want to
retrieve more than one table, simply separate the list of index numbers with commas. There is no tried
and true method for determining which table index number holds the data you want. The easiest way to
determine this value is to start with code similar to that shown earlier, and increment the WebTables
property beginning with the number 1 until you locate the index that corresponds to the data you want.
Asection of the result of the Web Query is shown in Figure 21-10.
Figure 21-10
You have three formatting options for the results returned by the Web Query, controlled by the value of
the WebFormattingproperty:
xlWebFormattingAll—Imports the HTMLformat of the results exactly as they appear on the
source web page, including functioning hyperlinks.
xlWebFormattingRTF—Imports the data with the HTMLformatting converted to rich-text
format. This will produce results similar to xlWebFormattingAll, but without hyperlinks or
merged cells.
xlWebFormattingNone—Imports the data as plain text. 
Although the ability to specify a table index gives you significant flexibility in a
Web Query, it also makes your code vulnerable to design changes on the target web
site that might cause a change in the table index number of the table you want to
retrieve.
480
Chapter 21: Managing External Data
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Able to rotate one PDF page or whole PDF while in viewing. Abilities to zoom in and zoom out PDF page. Support to select PDF document scaling.
reverse page order pdf; how to rotate a page in pdf and save it
C# WPF PDF Viewer SDK to view PDF document in C#.NET
A powerful .NET WPF component able to rotate one PDF page or whole PDF while in viewing in C#.NET. Abilities to zoom in and zoom out PDF page.
change orientation of pdf page; rotate individual pages in pdf reader
You will note the obvious thick gray bars separating the rows of data in Figure 21-10. These appear
because that is how the table was structured on the source web page. You will often get artifacts like this
when performing web queries. You can simply hide these rows and they will remain hidden, even when
the QueryTable is refreshed. Just don’t forget to unhide any rows and/or columns you’ve hidden if you
do something that changes the structure of the Web Query such that the data you want to display ends
up hidden.
Some web sites provide parameterized URLs specifically designed for use in web queries. The Yahoo
Finance web site is one example. It provides a URL to which you can append a comma-delimited list of
stock symbols to retrieve the information for. The following example creates a parameterized Web Query
procedure that wraps this Yahoo Finance URL. Just call this procedure and pass it a comma-delimited
list of stock ticker symbols, and it will return a table with the latest data for those symbols. You can pass
as few or as many symbols as you like:
Sub ParameterizedWebQuery(strQuoteList As String, wksSheet As Worksheet)
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
‘ Define the connection string and destination range.
strConnection = “URL;http://finance.yahoo.com/q/cq?d=v1&s=” & strQuoteList
Set rngDestination = wksSheet.Range(“A1”)
‘ Create the QueryTable.
Set qryTable = wksSheet.QueryTables.Add(strConnection, rngDestination)
‘ Populate the QueryTable.
qryTable.WebSelectionType = xlSpecifiedTables
qryTable.WebTables = “9”
qryTable.WebFormatting = xlWebFormattingNone
qryTable.Refresh False
End Sub
Sub CallParameterizedWebQuery()
ParameterizedWebQuery “MSFT, DELL, IBM”, Sheet6
End Sub
In this example, you call the parameterized Web Query procedure, pass it the stock symbols for
Microsoft, Dell, and IBM, and tell it to place the resulting QueryTable on Sheet6. The results of this Web
Query are shown in Figure 21-11.
Figure 21-11
481
Chapter 21: Managing External Data
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
all. This guiding page will help you merge two or more PDF documents into a single one in a Visual Basic .NET imaging application.
save pdf after rotating pages; pdf expert rotate page
VB.NET PDF Annotate Library: Draw, edit PDF annotation, markups in
to display it. Thus, PDFPage, derived from REPage, is a programming abstraction for representing one PDF page. Annotating Process.
pdf rotate single page reader; pdf reverse page order online
In a real-world application, you would typically let the user specify the list of stock symbols—for exam-
ple, by allowing them to pick the symbols from a list in a UserForm or allowing them to enter the sym-
bols on a worksheet. You would then read the selected symbols, create a comma-delimited list from
them, and pass this list to the ParameterizedWebQuery procedure.
Like all QueryTables, you can modify the data displayed by a QueryTable based on a Web Query 
at any time. Unlike QueryTablesbased on relational databases, however, you cannot modify the
CommandTextproperty of a QueryTablebased on a Web Query. In fact, attempting to do so will render
the QueryTable inoperable.
Instead, you change the data displayed in a QueryTable based on a Web Query by modifying its
Connectionproperty. The new connection string must be in exactly the same format as a connection
string used to create a Web Query initially, and if the table index you want to retrieve is different from
the current WebTables property value, you will have to update that property as well prior to refreshing
the QueryTable.
A QueryTable from a Text File
You can also use a QueryTable to extract data from a text file. The advantage of using a QueryTable as
opposed to the Workbooks.OpenText method is that the text file data can be loaded directly into the
workbook you specify, as opposed to being opened in a new workbook.
This example uses the same Sales.csv source file used in the ADO text file example in Chapter 20. The
code to load data from this text file using a QueryTable is as follows:
Sub QueryTableFromTextFile()
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
‘ Define the connection string and destination range.
strConnection = “TEXT;C:\Files\Sales.csv”
Set rngDestination = Sheet6.Range(“A1”)
‘ Create the QueryTable.
Set qryTable = Sheet6.QueryTables.Add(strConnection, rngDestination)
‘ Populate the QueryTable.
qryTable.TextFileStartRow = 1
qryTable.TextFileParseType = xlDelimited
qryTable.TextFileCommaDelimiter = True
There is no tried and true method for determining how to structure the URL used in
a Web Query. If the format is not documented on the web site (and it rarely will be),
you can use the macro recorder and experiment with the site directly in the web
browser to determine the appropriate format for the Web Query URL. This is how
both of the URLs in the previous examples were created.
482
Chapter 21: Managing External Data
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
for developers on how to rotate PDF page in different two different PDF documents into one large PDF C# PDF Page Processing: Split PDF Document - C#.NET PDF
pdf rotate all pages; rotate all pages in pdf preview
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Using RasterEdge Visual C# .NET PDF page deletion component, developers can easily select one or more PDF pages and delete it/them in both .NET web and Windows
how to rotate all pages in pdf at once; rotate pdf page few degrees
qryTable.TextFileTextQualifier = xlTextQualifierNone
qryTable.TextFileColumnDataTypes = Array(2, 2, 2, 2, 1)
qryTable.Refresh False
End Sub
You inform the QueryTable that it will be extracting data from a text file by specifying TEXT as the first
argument in the connection string. The second argument of the connection string is the full path and file-
name of the text file.
The QueryTableobject has a series of text file-specific properties that allow you to control how the text
file data is loaded. The following list describes the five of these properties that are most commonly used:
TextFileStartRow—This property tells the query table which row of the text file to start with
when it loads the data. Atext file may have one or more initial rows that are not part of the data
set. You can use this property to skip these initial rows by specifying some number greater than
1. A value of 1 tells the QueryTable to import the entire text file.
TextFileParseType—This property tells the QueryTablewhether the columns of data 
in the text file are separated by some delimiting character (xlDelimited) or are fixed width
(xlFixedWidth). The value of this property will determine which additional properties you spec-
ify. Your text file is comma-delimited, so the options for a delimited text file are discussed next. If
your text file has fixed-width columns, you would also set the TextFileFixedColumnWidths
property to an array of column width values, one for each column in your text file.
TextFileCommaDelimiter—When loading a delimited text file, you need to tell the
QueryTablewhat delimiter to look for. You’re loading a comma-delimited text file, so you set
the TextFileCommaDelimiter property to True. The following additional properties are avail-
able to specify other delimiters: TextFileTabDelimiterTextFileSemicolonDelimiter,
TextFileSpaceDelimiter, and TextFileOtherDelimiter.
TextFileTextQualifier—You will often encounter text files where values in text data 
type fields are surrounded by single or double quotes. This property is used to inform the
QueryTableif this is the case, and if so, which of these characters it should treat as a qualifier
and ignore when loading the data. The options are xlTextQualifierSingleQuote,
xlTextQualifierDoubleQuote, and xlTextQualifierNone. You use the last option 
because your text file does not use any text field qualifiers.
TextFileColumnDataTypes—This property is used to tell the QueryTablehow to interpret
each column of data in the text file. The property takes an array of integer values, one for each
column in the text file, that specify what type of data is contained in those columns. For uncom-
plicated text and numeric data, you can normally pass the value 1 for every column. This tells
the QueryTable to automatically determine what type of data is being loaded. If the text file
contains data that may be misinterpreted, you can use this property to tell the QueryTable
what type of data is contained in each column. A value of 2 means the column contains text
data. A value of 9 tells the QueryTableto skip the column entirely. The additional seven allow-
able numeric values are used to handle various arrangements of date data types. See the VBA
help for more details on these.
483
Chapter 21: Managing External Data
Creating and Using Connection Files
The information used to create query tables can be stored to a file on disk, called a connection file, and
reused. Connection files provide several advantages when used in conjunction with QueryTables. They
allow you to create a variety of query tables, store them to disk, and distribute them with your applica-
tions. Users can also use connection files directly by selecting them from the Existing Connections dialog
on the Data tab of the Ribbon. Finally, if some detail of the data source changes—for example, the server
name where a relational database is located, you can simply edit the connection file to reflect the new
information and redistribute it. QueryTablesbased on the connection file will then be updated auto-
matically with the new information.
Unfortunately, connection files do not present a very consistent story. There are more than half a dozen
potential file types available, and most of them can be used for multiple types of source data. Each of the
three data sources covered in this chapter (databases, web queries, and text files) requires a different
type of connection file. This section focuses on Office Data Connect (.odc) and Web Query (.iqy) files.
Office Data Connect files store connection information for databases, and Web Query files store connec-
tion information for web queries.
Connection files are simply text files with a file extension that identifies their type and contents, format-
ted according to what that type of connection requires. Connection files can be stored and used from any
accessible directory on a computer, but connection files that you want to be visible automatically in the
Get External Data➪Existing Connections list in the Excel user interface must be located in one of the fol-
lowing places:
The C:\...\MyDocuments\MyDataSources\ folder under the profile of the currently
logged-in user.
The C:\ProgramFiles\CommonFiles\ODBC\DataSources\ folder.
The C:\ProgramFiles\MicrosoftOffice\Office12\Queries\ folder.
Acustom location that has been defined by your network administrator through the use of
Office policy settings.
Office Data Connect Files
An Office Data Connect (ODC) file contains XML data that specifies all of the information required to re-
create an external connection to a database. See Chapter 12 for an introduction to XMLif you aren’t
familiar with it. Although an ODC file contains XML data, it is not a well-formed XML file, so if you
need to edit its contents, you may find it easier to use a text editor as opposed to an XML editor.
You can save the connection information for a QueryTable or ListObject to an ODC file by using the
SaveAsODCmethod. The following line of code demonstrates how to save an ODC file that represents
the first QueryTable created earlier in this chapter:
Sheet1.QueryTables(1).SaveAsODC “C:\Files\CustomersTable.odc”
ODC files can only be saved from QueryTables of ListObjects that were created
through OLEDB. Because utilizing parameter queries requires the use of ODBC, you
cannot save an ODC file for a QueryTable or ListObject that utilizes a parameter
query.
484
Chapter 21: Managing External Data
Upon opening the CustomersTable.odcfile in a text editor, you will see a lot of content, most of which
is beyond the scope of this chapter. All the data you would potentially need to edit is contained within
the two XML elements located near the top of the file. An abbreviated version of these two elements is as
follows:
<xml id=docprops>
<o:DocumentProperties.....>
<o:Name>Connection</o:Name>
</o:DocumentProperties>
</xml>
<xml id=msodc>
<odc:OfficeDataConnection.....>
<odc:Connection odc:Type=”OLEDB”>
<odc:ConnectionString>
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Files\Northwind 2007.accdb;...
</odc:ConnectionString>
<odc:CommandType>Table</odc:CommandType>
<odc:CommandText>Customers</odc:CommandText>
</odc:Connection>
</odc:OfficeDataConnection>
</xml>
The first XML element, called the docprops element, contains the name that will be displayed to the
user in the Existing Connections dialog. This is automatically given the same name as the connection
from which the ODC file was derived. Because you did not explicitly name your connection when you
created it, VBA gave it the default name Connection. This is what you see stored in the Name element
within the XMLdocprops element. You can simply edit this value to give the ODC file a more meaning-
ful description.
The second XML element, called the msodc element, contains the connection string, command text, and
command type used to create the QueryTable. The connection string that you see in the preceding
example shows just the arguments you specified when you created the original QueryTable. If you
open the ODC file yourself, you will see more than a dozen additional connection string arguments.
These are simply the default values that OLEDB uses for any arguments you haven’t specified.
Again, however, a connection string is simply plain text, so if you needed to modify the path 
to the database for all users of your application, you could simply type a new path into the
ConnectionStringelement, save the file, and distribute it to everyone using your application. 
Any QueryTables built from the connection file would automatically update themselves with the 
new information.
To use the CustomersTable.odc file, you need to attach it to your QueryTable in the following manner:
qryTable.SourceConnectionFile = “C:\Files\CustomersTable.odc”
qryTable.RobustConnect = xlAlways
Be sure the QueryTable to which you are attaching the ODC file is the same QueryTable from which it
was created. Once you have done this, the QueryTable will use the information contained in the speci-
fied ODC file to obtain its connection information whenever it needs to be refreshed.
485
Chapter 21: Managing External Data
Web Query Files
Web Query (IQY) files are far simpler and easier to understand than ODC files. The process of generat-
ing an IQY file from an existing Web Query is a bit convoluted. There’s no automated method of creating
them like there is with ODC files. Creating an IQYfile from an existing Web Query requires the follow-
ing steps:
1.
Open the Workbook Connections dialog using the Data➪Manage Connections➪Connections
button.
2.
In the Workbook Connections dialog, select the connection that corresponds to your Web Query
and click the Properties button. This will display the Connection Properties dialog.
3.
In the Connection Properties dialog, select the Definition tab and click the Edit Query button.
This will display the Edit Web Query dialog.
4.
You will see a toolbar across the top of the Edit Web Query dialog. The second button from the
left on this toolbar is the Save Query button. Click this button and you will be prompted by a
Save Workspace dialog to save your Web Query as an IQY file.
If you perform these steps on the connection for the Wall Street Journal Web Query created in the previ-
ous section, an IQY file with the following contents will be generated:
WEB
1
http://online.wsj.com/public/page/markets.html?mod=hpp_us_indexes
Selection=19
Formatting=All
PreFormattedTextToColumns=False
ConsecutiveDelimitersAsOne=False
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=True
Only three entries in this file are important for your purposes. These are the URLSelection, and
Formattingentries. In fact, you could delete everything in the IQYfile other than these three entries
and the query would perform exactly as expected.
The URL is self-explanatory. It’s the same URL used in the connection string when you originally created
the Web Query. The Selection line specifies what the query should retrieve. This will be either the
string value EntirePage or a number indicating the specific table you wish to retrieve. In this case the
number 19 was generated, because that is the index number of the table specified when the Web Query
was created.
It would be nice if you could simply create a new QueryTable using the ODC file as
the data source in the first place. However, because the Connection argument of the
QueryTables.Addmethod is required and does not accept an ODC file as its value,
you must create the QueryTable initially in the manner shown in the previous sec-
tion, and then attach the QueryTable to the ODC file afterward.
486
Chapter 21: Managing External Data
The Formattingline specifies how the query should be formatted on the worksheet. Its potential values
are AllRTF, or None, which correspond to the similarly named settings for the WebFormatting argu-
ment described in the previous section.
In addition to simplicity, IQY files have one additional advantage over ODC files for VBA programmers:
you can create a new QueryTable directly from an IQY file using VBA. You could re-create the Wall
Street Journal QueryTable example using the preceding IQYfile in the following manner:
Sub CreateWebQueryFromIQY()
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
‘ Define the connection string and destination range.
strConnection = “FINDER;C:\Files\Wall Street Journal Query.iqy”
Set rngDestination = Sheet7.Range(“A1”)
‘ Create the QueryTable.
Set qryTable = Sheet7.QueryTables.Add(strConnection, rngDestination)
‘ Populate the QueryTable.
qryTable.Refresh False
End Sub
When creating a QueryTable from an IQY file, you pass FINDER as the first argument to the connection
string and the full path and filename of the IQY file as the second argument. Notice that you don’t need
to set any additional properties of the QueryTable after creating it and prior to refreshing it. This is
because all this information is contained in the IQY file.
The Wor kbookConnect ion Object and the
Connect ions  Collect ion
New to Excel 2007 is an object and collection designed to manage all external data connections in a
workbook. Each time you create any one of the built-in objects that Excel uses to manage external data,
including QueryTablesListObjects, and PivotCaches, you are also creating a new instance of a
WorkbookConnectionobject. All of the WorkbookConnectionobjects in a given workbook are con-
tained in the Workbook.Connections collection for that workbook.
You can also create a standalone WorkbookConnection object, one that is not associated with any exter-
nal data container. The eventual intent for this feature is to allow you to create query tables, list objects,
and all other external data containers using a WorkbookConnection object as the data source. However,
as of Excel 2007, this feature has only been implemented for PivotCacheobjects. See Chapter 7 for more
details on PivotCache objects.
487
Chapter 21: Managing External Data
Documents you may be interested
Documents you may be interested