ghostscriptsharp pdf to image c# : Add picture to pdf form control Library platform web page asp.net .net web browser 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200722-part675

Figure 8-5
The following code converts MangoesChart to include the new data (note that the original chart must
still be on the spreadsheet for this to work). Because MangoesToRegion is a fairly long procedure, it is
examined in sections:
Sub MangoesToRegion()
Dim cbo As ChartObject
Dim cht As Chart
Dim scSeries As SeriesCollection
Dim iCount As Integer
Dim rngYAxis As Range
Dim rngXAxis As Range
Dim vProducts As Variant
Dim vRegions As Variant
Dim iRegion As Integer
Dim vAnswer As Variant
‘Set up arrays for Product & Region names
vProducts = Array(“Mangoes”, “Bananas”, “Lychees”, “Rambutan”)
vRegions = Array(“South”, “North”, “East”, “West”)
‘Determine that MangoesChart exists
On Error Resume Next
Set cbo = Worksheets(“Sales”).ChartObjects(“MangoesChart”)
If cbo Is Nothing Then
MsgBox “MangoesChart was not found - procedure aborted”, vbCritical
Exit Sub
End If
On Error GoTo 0
MangoesToRegionfirst assigns the product names to vProductsand the region names to vRegions. It
then tries to set the cboobject variable by assigning the variable a reference to the ChartObject named
MangoesChart. If this fails, the procedure is aborted. Because it is not the main point of the exercise, this
section of code has been kept very simple:
188
Chapter 8: Charts
Add picture to pdf form - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
convert word doc to pdf with editable fields; create pdf form
Add picture to pdf form - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
changing font in pdf form; best way to make pdf forms
‘Get Region number
Do ‘While vAnswer < 1 Or vAnswer > 4
vAnswer = InputBox(“Enter Region number (1 to 4)”)
If vAnswer = “” Then Exit Sub
If vAnswer >= 1 And vAnswer <= 4 Then
Exit Do
Else
MsgBox “Region must be 1, 2, 3 or 4”, vbCritical
End If
Loop
iRegion = CInt(vAnswer)
The user is then asked to enter the region number. The Do...Loopwill continue until the user clicks
Cancel, clicks OK without entering anything, or enters a number between 1 and 4. If a number between
1 and 4 is entered, the value is converted to an integer value, using the CInt function, and assigned to
iRegion:
‘Set up new chart
Set cht = cbo.Chart
Set scSeries = cht.SeriesCollection
‘Delete all existing chart series
For iCount = scSeries.Count To 1 Step -1
scSeries(iCount).Delete
Next iCount
Next, cht is assigned a reference to the chart in the ChartObject. Then scSeries is assigned a refer-
ence to the SeriesCollection in the chart. The following For...Next loop deletes all the members 
of the collection. This is done backwards because deleting the lower number series first automatically
decreases the item numbers of the higher series. In this case there will be no series 3 when you try to
delete it, which will cause a run-time error. Alternatively, you could have deleted series 1 each time
around the loop and the direction of the loop would not have mattered:
‘Add Products for Region
For iCount = LBound(vProducts) To UBound(vProducts)
‘Define chart ranges
Set rngYAxis = Range(vProducts(iCount)).Offset(iRegion, 1).Resize(1, 3)
Set rngXAxis = Range(vProducts(iCount)).Offset(0, 1).Resize(1, 3)
‘Add new series & assign data
With scSeries.NewSeries
.Name = vProducts(iCount)
.Values = rngYAxis
.XValues = “=” & rngXAxis.Address _
(RowAbsolute:=True, _
ColumnAbsolute:=True, _
ReferenceStyle:=xlR1C1, _
External:=True)
End With
Next iCount
189
Chapter 8: Charts
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Insert images into PDF form field. Access to freeware download and online C#.NET class source code. How to insert and add image, picture, digital photo, scanned
pdf form save with reader; add text field pdf
VB.NET PDF insert image library: insert images into PDF in vb.net
Import graphic picture, digital photo, signature and logo into PDF Add images to any selected PDF page in VB.NET. Insert images into PDF form field in VB.NET.
change pdf to fillable form; edit pdf form
The For...Nextloop adds a new series to the chart for each product. The loop uses the UBoundand
LBoundfunctions to avoid having to know the Option Basesetting for the module. The range object
rngYAxisis assigned a reference to the chosen region data within the current product data.
Range(vProducts(i))refers to the ranges containing the product tables. Each range has been assigned
a name corresponding to the text entries in vProducts(i)iRegion is used as the row offset into the
product data to refer to the correct region data. The column offset is 1 so that the name of the region is
excluded from the data. Resize ensures that the data range has one row and three columns. The range
object rngXAxis is assigned a reference to the month names at the top of the product data table.
Following the With statement, MangoesToRegionuses the NewSeries method to add a new empty
series to the chart. The NewSeries method returns a reference to the new series, which supplies the
With...End Withreference that is used by the lines between Withand End With. The Nameproperty 
of the series, which appears in the legend, is assigned the current product name.
The Values property of the new series is assigned a reference to rngYAxis. The XValues property
could have been assigned a direct reference to rngXAxis in the same way. However, both properties can
also be defined by a formula reference as an external reference in the A1 or R1C1 style. The string value
generated and assigned to the Mangoes series XValues property is:
=[Charts2.xlsm]Sales!R3C2:R3C4
The final section of code is as follows:
‘Define chart title
cht.ChartTitle.Text = vRegions(iRegion + LBound(vRegions) - 1)
‘Give name to chartobject
cbo.Name = “RegionChart”
End Sub
The ChartTitle.Textproperty is assigned the appropriate string value in the vRegions array, using
the value of iRegionas an index to the array. To avoid having to know the OptionBase setting for the
module, LBound(vRegions)-1 has been used to adjust the index value in iRegion, which ranges
from 1 to 4. If the OptionBasesetting is 0, this expression returns a value of 1, which adjusts the value
of iRegionsuch that it ranges from 0 to 3. If the OptionBase setting is 1, the expression returns 0,
which does not change the iRegionvalue so it still has the range of 1 to 4. Another way to handle the
Option Baseis to use the following code:
Cht.ChartTitle.Text = vaRegions(iRegion - Array(0,1)(1))
The code finally changes the name of the ChartObject to RegionChart.
Defining Chart Series with Arrays
Achart series can be defined by assigning a VBA array to its Values property. This can come in handy if
you want to generate a chart that is not linked to the original data. The chart can be distributed in a sep-
arate workbook that is independent of the source data.
190
Chapter 8: Charts
VB.NET Image: Image Cropping SDK to Cut Out Image, Picture and
VB.NET image cropping method to crop picture / photo; size of created cropped image file, add antique effect Public Partial Class Form1 Inherits Form Public Sub
change font size in pdf fillable form; adding image to pdf form
VB.NET Image: Image Scaling SDK to Scale Picture / Photo
VB.NET DLLs to Scale Image / Picture. There are two this VB.NET image scaling control add-on, we RE__Test Public Partial Class Form1 Inherits Form Public Sub New
create a pdf form that can be filled out; change tab order in pdf form
Figure 8-6 shows a chart of the Mangoes data. You can see the definition of the first data series in the
SERIESfunction in the Formula bar above the worksheet. The month names and the values on the verti-
cal axis are defined by arrays. The region names have been assigned as text to the series names.
Figure 8-6
The 3D chart can be created using the following code:
Sub MakeArrayChart()
Dim wksSource As Worksheet
Dim rngSource As Range
Dim wkb As Workbook
Dim wks As Worksheet
Dim cht As Chart
Dim seNewSeries As Series
Dim iCount As Integer
Dim vSalesArray As Variant
Dim vMonthArray As Variant
‘Create month array
vMonthArray = Array(“Jan”, “Feb”, “Mar”)
‘Define the data source
Set wksSource = ThisWorkbook.Worksheets(“Sales”)
Set rngSource = wksSource.Range(“Mangoes”)
‘Create a new workbook
191
Chapter 8: Charts
C# TIFF: How to Insert & Burn Picture/Image into TIFF Document
Support adding image or picture to an existing or new new REImage(@"c:\ logo.png"); // add the image powerful & profession imaging controls, PDF document, tiff
adding text to pdf form; create a pdf form in word
VB.NET Image: Image Resizer Control SDK to Resize Picture & Photo
NET Method to Resize Image & Picture. Here we this VB.NET image resizer control add-on, can provide powerful & profession imaging controls, PDF document, image
add photo to pdf form; add form fields to pdf without acrobat
Set wkb = Workbooks.Add
Set wks = wkb.Worksheets(1)
‘Add a new chart object and embed it in the worksheet
Set cht = wks.Shapes.AddChart.Chart
MakeArrayChartassigns the month names to vMonthArray. This data could have come from the 
worksheet, if required, like the sales data. A reference to the worksheet that is the source of the data is
assigned to wksSource. The Mangoes range is assigned to rngSource. A new workbook is created for
the chart and a reference to it is assigned to wkb. A reference to the first worksheet in the new workbook
is assigned to wks. A new chart is embedded in a Shape belonging to the Shapescollection in wks, and
a reference to the embedded chart is assigned to cht:
With cht
‘Define the chart type
.ChartType = xl3DColumn
For iCount = 1 To 4
‘Create a new series
Set seNewSeries = .SeriesCollection.NewSeries
‘Assign the data as arrays
vSalesArray = WorksheetFunction.Transpose( _
rngSource.Offset(iCount, 1).Resize(1, 3).Value)
seNewSeries.Values = vSalesArray
seNewSeries.XValues = WorksheetFunction.Transpose(vMonthArray)
seNewSeries.Name = “=””” & rngSource.Cells(iCount + 1, 1).Value & “”””
Next iCount
‘Adjust format
.HasLegend = False
.HasTitle = True
.ChartTitle.Text = “Mangoes”
‘Position the ChartObject in B2:I22 and name it
With .Parent
.Top = wks.Range(“B2”).Top
.Left = wks.Range(“B2”).Left
.Width = wks.Range(“B2:I22”).Width
.Height = wks.Range(“B2:I22”).Height
.Name = “ArrayChart”
End With
End With
End Sub
In the With...EndWith structure, the ChartType property of cht is changed to a 3D column type. 
The For...Nextloop creates the four new series. Each time around the loop, a new series is created
with the NewSeries method. The region data from the appropriate row is directly assigned to the vari-
ant vSalesArray, and vSalesArrayis immediately assigned to the Values property of the new series.
192
Chapter 8: Charts
VB.NET Image: How to Save Image & Print Image Using VB.NET
of saving and printing multi-page document files, like PDF and Word, in assembly with VB.NET web image viewer add-on, you VB.NET Method to Save Image / Picture.
change font size in pdf form; pdf editable fields
VB.NET PowerPoint: Add Image to PowerPoint Document Slide/Page
image, clip art or screenshot, the picture will be AddPage", "InsertPage" and "DeletePage" to add, insert or & profession imaging controls, PDF document, tiff
adding text to a pdf form; allow users to save pdf form
vMonthArrayis assigned to the XValuesproperty of the new series. The text in column Aof the
Mangoesrange is assigned to the Nameproperty of the new series.
The code then removes the chart legend, which is added by default, and sets the chart title. The final
code operates on the Shape, which is the chart’s parent, to place the chart exactly over B2:I22, and names
the chart ArrayChart.
The result is a chart in a new workbook that is quite independent of the original workbook and its data. If
the chart had been copied and pasted into the new workbook, it would still be linked to the original data.
Conver ting a Char t to Use Arrays
You can easily convert an existing chart to use arrays instead of cell references and make it independent
of the original data it was based on. The following code shows how:
Sub ConvertSeriesValuesToArrays()
Dim seSeries As Series
Dim cht As Chart
On Error GoTo Failure
‘Get reference to embedded chart
Set cht = ActiveSheet.ChartObjects(1).Chart
‘Process each series in charts series collection
For Each seSeries In cht.SeriesCollection
‘Convert range references to numeric/string values
seSeries.Values = seSeries.Values
seSeries.XValues = seSeries.XValues
seSeries.Name = seSeries.Name
Next seSeries
Exit Sub
Failure:
MsgBox “Sorry, the data exceeds the array limits””
End Sub
For each series in the chart, the ValuesXValues, and Nameproperties are set equal to themselves.
Although these properties can be assigned range references, they always return an array of values when
they are interrogated. This behavior can be exploited to convert the cell references to arrays.
In previous versions of Excel, the number of characters that can be contained in the SERIES function
arrays is limited to 250 characters, or thereabouts. This limit does not apply to Excel 2007, but the code
sets up an error trap to cover this possibility, should it be used in a previous version.
193
Chapter 8: Charts
C# Image: How to Add Antique & Vintage Effect to Image, Photo
function to add antique charm to picture & photo C#.NET antique effect creating control add-on is powerful & profession imaging controls, PDF document, tiff
pdf save form data; acrobat create pdf form
VB.NET Image: VB.NET Codes to Add Antique Effect to Image with .
mature technology to replace a picture's original colors add the glow and noise, and add a little powerful & profession imaging controls, PDF document, image
add form fields to pdf; create a fillable pdf form from a pdf
Determining the Ranges Used in a Char t
The behavior that is beneficial when converting a chart to use arrays is a problem when you need to pro-
grammatically determine the ranges that a chart is based on. If the Valuesand XValuesproperties
returned the strings or range objects that you used to define them, the task would be easy.
The only property that contains information on the ranges is the Formula property that returns the for-
mula containing the SERIES function as a string. The formula would be like the following:
=SERIES(“Mangoes”, Sales!$B$3:$D$3, Sales!$B$5:$D$5, 1)
The XValues are defined by the second parameter and the Values by the third parameter. You need to
locate the commas and extract the text between them as shown in the following code, designed to work
with a chart embedded in the active sheet:
Sub GetRangesFromChart()
Dim seSeries As Series
Dim sSeriesFunction As String
Dim iFirstComma As Integer, iSecondComma As Integer, iThirdComma As Integer
Dim sValueRange As String, sXValueRange As String
Dim rngValueRange As Range, rngXValueRange As Range
On Error GoTo Oops
‘Get the SERIES function from the first series in the chart
Set seSeries = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
sSeriesFunction = seSeries.Formula
‘Locate the commas
iFirstComma = InStr(1, sSeriesFunction, “,”)
iSecondComma = InStr(iFirstComma + 1, sSeriesFunction, “,”)
iThirdComma = InStr(iSecondComma + 1, sSeriesFunction, “,”)
‘Extract the range references as strings
sXValueRange = Mid(sSeriesFunction, iFirstComma + 1, _
iSecondComma - iFirstComma - 1)
sValueRange = Mid(sSeriesFunction, iSecondComma + 1, _
iThirdComma - iSecondComma - 1)
‘Convert the strings to range objects
Set rngXValueRange = Range(sXValueRange)
Set rngValueRange = Range(sValueRange)
‘Color the ranges
rngXValueRange.Interior.ColorIndex = 3
rngValueRange.Interior.ColorIndex = 4
Exit Sub
Oops:
MsgBox “Sorry, an error has occurred” & vbCr & _
“This chart might not contain range references”
End Sub
194
Chapter 8: Charts
sSeriesFunctionis assigned the formula of the series, which contains the SERIESfunction as a string.
The positions of the first, second, and third commas are found using the InStr function. The Mid func-
tion is used to extract the range references as strings, and they are converted to Range objects using the
Rangeproperty.
The conversion of the strings to Rangeobjects works even when the range references are not on the same
sheet or in the same workbook as the embedded chart, as long as the source data is in an open workbook.
You could then proceed to manipulate the Range objects. You can change cell values in the ranges, for
example, or extend or contract the ranges, once you have programmatic control over them. For illustration
purposes, the code changes the color of the ranges in the worksheet by changing the ColorIndexproperty.
Chart Labels
In Excel, it is easy to add data labels to a chart as long as the labels are based on the data series values or
X-axis values. These options are available in the Layout tab of the Ribbon under the Data Labels button
in the Labels group.
You can also enter your own text as labels, but this involves a lot of manual work. You would need to
add standard labels to the series, and then individually select each one and replace it with your own
text. Alternatively, you can write a macro to do it for you.
Figure 8-7 shows a chart of sales figures for each month, with the name of the top salesperson for each
month. The labels have been given the text entries from row 4 of the worksheet.
Figure 8-7
195
Chapter 8: Charts
Say you have set up a line chart like the one in Figure 8-7, but without the data labels. You can add the
data labels using the following code:
Sub AddDataLabels()
Dim seSales As Series
Dim pts As Points
Dim pt As Point
Dim rngLabels As Range
Dim iPointIndex As Integer
‘Specify cells containing labels
Set rngLabels = Range(“B4:G4”)
‘Get first series from chart
Set seSales = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
‘Enable labels
seSales.HasDataLabels = True
‘Processs each point in Points collection
Set pts = seSales.Points
For Each pt In pts
iPointIndex = iPointIndex + 1
pt.DataLabel.Text = rngLabels.Cells(iPointIndex).Text
pt.DataLabel.Font.Bold = True
pt.DataLabel.Position = xlLabelPositionAbove
Next pt
End Sub
The object variable rngLabels is assigned a reference to B4:G4. seSales is assigned a reference to the first,
and only, series in the embedded chart, and the HasDataLabelsproperty of the series is set to True. The
ForEach...Nextloop processes each Pointobject in the Pointscollection in the data series. For each
point, the code assigns the Textproperty of the corresponding cell to the Text property of the point’s data
label. The data label is also made bold and the label is positioned above the data point.
Summary
It is easy to create a programmatic reference to a chart on a chart sheet. The Chartobject is a member of
the Charts collection of the workbook. To reference a chart embedded in a worksheet, you need to be
aware that the Chart object is contained in a ChartObject object that belongs to the ChartObjects
collection of the worksheet. ChartObject objects also belong to the Shapescollection of the worksheet.
You can move or resize an embedded chart by changing the TopLeftWidth, and Height properties 
of the ChartObject. If you already have a reference to the Chart object, you can get a reference to the
ChartObjectobject through the Parentproperty of the Chartobject.
196
Chapter 8: Charts
Individual series in a chart are Series objects, and they belong to the SeriesCollectionobject of 
the chart. The Delete method of the Series object is used to delete a series from a chart. You use the
NewSeriesmethod of the SeriesCollectionobject to add a new series to a chart.
You can assign a VBAarray, rather than the more commonly used Range object, to the Values property
of a Series object. This creates a chart that is independent of worksheet data and can be distributed
without a supporting worksheet.
The Values and XValues properties return data values, not the range references used in a chart. You
can determine the ranges referenced by a chart by examining the SERIES function in the Formula prop-
erty of each series.
The data points in a chart are Point objects and belong to the Points collection of the Series object.
Excel does not provide an easy way to specify cell values as labels on series data points through the user
interface. However, this can be easily done using VBA code.
197
Chapter 8: Charts
Documents you may be interested
Documents you may be interested