321
F = FreeFile(0)
'set variable to the current selection and define the starting and
'ending row and column numbers
Set rng = Selection
fCol = rng.Columns(1).Column
lCol = rng.Columns(rng.Columns.Count).Column
fRow = rng.Rows(1).Row
lRow = rng.Rows(rng.Rows.Count).Row
'get a filename from the use
fName = InputBox("Enter the filename with Path.  " & _
"The current selection will be written as a CSV file.", _
"Please Enter Output File Name (ex: C:\MYDATA.CSV):")
'see if cancel selected, stop if it was
If fName = False Then
MsgBox "no action taken"
End
End If
'check to see if the file exists
If Dir(fName) <> "" Then
nResponse = MsgBox(fName & " exists.  " & _
"Select OK to replace it", Buttons:=vbOKCancel)
'see if cancel selected, stop if it was
If nResponse <> vbOK Then
MsgBox "no action taken"
End
End If
End If
'open the file for output
Open fName For Output As #F
'rotate through all the rows in the selection
For I = fRow To lRow
'initialize outputLine each time through
outputLine = ""
For J = fCol To lCol
If J <> lCol Then
Pdf rotate 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 pdf page; how to rotate just one page in pdf
Pdf rotate 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
how to rotate all pages in pdf at once; rotate pdf pages on ipad
322
'if not the last column, do this, which puts a separator on the end
outputLine = outputLine & Cells(I, J).Value & _
entrySeparator
Else
'no separator put after the last column's value
outputLine = outputLine & Cells(I, J).Value
End If
Next J
'write the row information to the file
Print #F, outputLine
Next I
'close the file
Close #F
MsgBox "Output written to: " & fName
End Sub
14.3.5.3 How To Save As Text File Without Quotations Marks
You will get quotation marks in text files even when you save manually if entry in a single cell
has list separator (generally comma). You can avoid quotation marks while saving manually, by
changing the list separator in your computer (Control Panel | Regional Settings | Number | List
Separator) to some other character other than the character you have in your cell content.
When VBA is involved in saving, the list separator is always considered as comma, irrespective
of the setting in control panel and hence, there is no way of saving a text file without quotations
as long as commas are present in the content of a single cell.  You can consider that VBA is
involved even if you use send keys to display the save dialog box which manually is clicked OK
to save the text file.
14.3.5.4 Save As CSV Using A Semi
-
Colon, Not A Comma
Visual Basic (unlike Excel itself) doesn't take often the regional settings in account.  It will
always save CSV files with the delimiter used in the US (comma). Although disk I/O with text
files is very slow in Visual Basic, you should use an appropriate macro.  An example is below.
Function Exporte(Wksht As Worksheet, NomFic As String, _
Optional Remplace As Boolean = TrueAs Long
Dim UsedRange As Range
Dim NbCols As Integer, NbLignes As Long
Dim Stat As Integer, Incr As Integer
Dim As Integer, J As Integer
Dim Progr As Integer
C# TIFF: How to Rotate TIFF Using C# Code in .NET Imaging
Convert Tiff to Jpeg Images. Convert Word, Excel, PowerPoint to Tiff. Convert PDF to Tiff. Move Tiff Page Position. Rotate a Tiff Page. Extract Tiff Pages. Tiff
rotate pages in pdf and save; rotate pdf pages by degrees
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
XDoc.PDF ›› VB.NET PDF: Delete PDF Page. using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; How to VB.NET: Delete a Single PDF Page from PDF File.
rotate all pages in pdf and save; rotate pages in pdf permanently
323
On Error GoTo Erreur
If Dir(NomFic) < "" And Not Remplace Then
Exporte = 
-
1
Exit Function
End If
Open NomFic For Output As #1
Set UsedRange = Wksht.UsedRange
NbCols = UsedRange.Columns.Count 
-
1
NbLignes = UsedRange.Rows.Count
Stat = NbLignes / 40
Incr = Stat
For I = 1 To NbLignes
If I = Stat Then
Stat = Stat + Incr
Progr = Progr + 1
Application.StatusBar = _
"Exportation " & String(Progr, ".")
End If
For J = 1 To NbCols
Print #1, Cstr(UsedRange(I, J)) & ";";
Next J
Print #1, Cstr(UsedRange(I, J))
Next I
Close 1
GoTo Fin
Erreur:
Exporte = Err
Fin:
Application.StatusBar = False
End Function
Sub Test()
Dim Result As Long
Result = Exporte(ActiveSheet, "Test.csv", False)
Select Case Result
Case 
-
1
MsgBox "File does Not exist", vbExclamation
Case 0
MsgBox "File exported."
Case Else
MsgBox Error(Result)
End Select
End Sub
14.3.5.5 Reading A Text File Line By Line
An alternate way to read a text file is line by line.  This allows you to treat each line individually.
The following shows how to do this:
Sub Read_Ascii_File_Line_By_Line()
Dim I As Long, myString
'reset any file accidentally left open
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Professional .NET PDF control for inserting PDF page in Visual Basic .NET class application.
how to rotate pdf pages and save; pdf rotate pages and save
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
pdf reverse page order online; rotate single page in pdf file
324
Reset
' Open file for input.
Open "C:\TESTFILE.TXT" For Input As #1
i = 1
' Loop until end of file.
Do While Not EOF(1)
' Read data into a variable
Input #1, myString
'write output to a cell on the active sheet
ActiveSheet.Cells(i, 1) = myString
i = i + 1
Loop
' Close file.
Close #1
End Sub
14.3.5.6 Issues With Reading CSV Files
VBA uses the default delimiter for the International Version of Excel when it reads in CSV files
regardless of what the list delimiter is set to in Win 95 Regional Settings.  If you have an US
version of Excel, it will use a comma as the delimiter.  If you have a localized version and
assuming the semi
-
colon is your list delimiter, then it would use that.  Bringing the file in
manually through file open, this behavior can be changed (by changing the regional settings) 
-
but
not in VBA.  If you must read in the file using VBA, you probably need to write your own File
reading routine and interpret the delimiters yourself.  Your code segment appears to set the
delimiter properly as Semi
-
Colon, but Excel may be "intelli
-
sensing" the fact that it is a CSV file.
You could also try putting the extension ".txt" on the file rather than ".csv" and see if Excel will
behave.  Also, be aware that Excel Visual Basic behaves differently for reading CSV files in the
debugger versus when actually run.
14.3.5.7 Writing Directly To An ASCII File
The following illustrates writing to an ASCII file:
Sub MyOutput()
Dim iMyFreeFile As Integer
Dim string1 As String
Dim var1
string1 = "hello"
var1 = 3
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. Demo Code: How to Delete a Single PDF Page from PDF File in C#.NET. How
how to save a pdf after rotating pages; pdf rotate single page
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
1. Anticlockwise rotation. Rotate PDF page 90 degree in anticlockwise. 2. Clockwise rotation. Rotate PDF page 90 degree in clockwise. 3. Zoom in.
reverse page order pdf; how to rotate all pages in pdf
325
' get a free file number
IMyFreeFile = FreeFile
' open the text file 
-
please note this replaces the file
Open "c:\xltext.txt" For Output As #iMyFreeFile
' write whatever you want
Write #iMyFreeFile, string1, var1
' as long as you write on one line, the data is comma delimited
' if you add another write statement, the data will be on the next line
Write #iMyFreeFile, string1, var1
' now close the file
Close #iMyFreeFile
End Sub
14.3.5.8 Sheet/Range Extract To ASCII Files
This VBA procedure will save the active worksheet as space delimited text:
Sub SaveAsText()
ActiveWorkbook.SaveAs _
FileName:="C:\My Documents\MyFile.txt", _
FileFormat:= xlTextPrinter
‘above saves as space delimited text files (normal text file)
End Sub
This VBA procedure will save the active worksheet as comma delimited:
Sub SaveAsText()
ActiveWorkbook.SaveAs _
FileName:="C:\My Documents\MyFile.csv", _
FileFormat:=xlCSV
End Sub
To use an extension other than txt or csv, specify it as part of the filename.
If you wish to return to the previous workbook and not have to save and reopen it, then first copy
the active sheet to a new workbook, run one of the two above routines, and then close the active
workbook (which is the copy of the sheet;
C# WPF PDF Viewer SDK to view PDF document in C#.NET
1. Anticlockwise rotation. Rotate PDF page 90 degree in anticlockwise. 2. Clockwise rotation. Rotate PDF page 90 degree in clockwise. 3. Zoom in.
rotate all pages in pdf; change orientation of pdf page
VB.NET PDF - WPF PDF Viewer for VB.NET Program
Existing PDF Pages. Page: Replace PDF Pages. Page: Move Page Position. Page: Copy, Paste PDF Pages. Page: Rotate a PDF Page. PDF Read. Text
how to rotate all pages in pdf in preview; rotate individual pages in pdf reader
326
ActiveSheet.Copy
SaveAsText
Activeworkbook.Close (False)
To replace the file without prompting if it exists, use
Application.DisplayAlerts = False
Be sure to setApplication.DisplayAlerts back toTrue immediately as this is a permanent
change during the Excel session, and stays in effect even after the macro completes.
14.3.5.9 Importing Text Files
Excellent ways to import text files are found on Chip Pearson's web site
http://www.cpearson.com
go to Importing Text Files in the News section.  The code is brilliant and simple to modify.
If you use the import wizard, problems can occur by one's regional settings in windows, being
different than in UK / US. This makes the text import wizard confused when American VBA
code tries to open text delimited in regional format used by the rest of excel.
14.3.5.10 CSV Files And Non
-
U.S. Settings
One of the problems with Excel is that it assumes that everyone is using American or U.S.
settings!  Obviously not true.  However, because of this assumption, one that not always import
CSV files correctly – the dates and numbers get screwed up.  One way that frequently solves is to
re
-
name the CSV file to TXT and import into Excel using anOpenText statement.  If you use the
macro recorder, you can record the OpenText macro statements.
In Excel 97, if you save a file manually, Excel will use your regional settings to separate the
entries.  However, if you use a macro statement to save a worksheet as a CSV file, Excel uses the
U.S. separator character, which is the comma.  The following code will help you create a CSV
file using any separator that you want.  This code also allows you to create a CSV file from any
range on your worksheet without having to copy to a new worksheet and saving the worksheet as
a CSV file
Sub Create_A_CSV_File()
Dim anyRange As Range
Dim rowRange As Range
Dim cell
As Range
Dim anyEntry As String
Dim sSeparator As String
On Error Resume Next
Set anyRange =Application.InputBox( _
"Select A Range", _
Default:=Selection.Address, Type:=8)
On Error GoTo 0
327
If anyRangeIs Nothing Then Exit Sub
'set regional separator
sSeparator =Application.International(xlListSeparator)
'Change the filename to any name you want
Open "c:\TEMP.CSV"For Output As #1
'rotate through each row
For Each rowRangeIn anyRange.Rows
anyEntry = ""
'rotate through the cells on the row
For Each cellIn rowRange.Cells
anyEntry = anyEntry & cell.Value & sSeparator
Next
'remove un
-
needed closing separator
If Right(anyEntry, 1) = sSeparatorThen
anyEntry =Left(anyEntry,Len(anyEntry) 
-
1)
End If
Print #1, anyEntry
Next
Close #1
End Sub
14.3.5.11 Read Text File With Variable Length Records
You can use Line Input and EOF to read in a text file with a varying number of records:
Sub Get_A_Line_At_A_Time()
Dim As Integer
Dim ARecord As String
F = FreeFile
Open MyFile For Input As #F
Do While Not EOF(F)
Line Input #F, ARecord
'code here to test the length and parse it, as needed
Loop
Close #F
End Sub
14.3.5.12 Importing Text File With Any Delimiter
Chip Pearson's code at
http://www.cpearson.com/excel/imptext.htm
lets you import any text file with the delimiter of your choice.
14.3.5.13 Saving The Active Sheet As A Comma Delimited File
Here is a simple procedure that exports the active sheet into a comma
-
delimited text file.
328
Sub ExportActiveSheetAsText()
ActiveSheet.Copy
ActiveWorkbook.SaveAs "TextFile.csv", xlCSV
ActiveWorkbook.Close False
End Sub
If the text file exists, then add the following code before the SaveAs so that you are not prompted
with a dialog asking if you want to replace the textfile.
Application.DisplayAlerts = False
To turn alerts back on, set the above toTrue.
329
15. PRINTING
15.1 A Fast Way To Set The Page Setup
VBA's PageSetup method is extremely slow.  Many programmers resort to using the Excel 4
macro language equivalents which are much faster (but only work in the English version of
excel).  Here's an example that sets the header and footer:
Application.ExecuteExcel4Macro _
("PAGE.SETUP(""&CTest Header"",""Page &P"")")
The Excel 4 Page.Setup function can set several settings in one shot.  If you're not familiar with
the Excel 4 macro syntax you should get the Excel 4 macro help file from MS's web site. Search
Microsoft
for MacroFun.Exe, download, and install.
15.2 How To Speed Up Changing Print Settings
When you record code that changes print settings, the macro recorder will record about 30 print
setup properties.  Each change in properties causes a slight execution delay.  And, if the printer is
a system or network printer, as opposed to a PC printer, the delay becomes very noticeable.
There are two basic tricks that will speed up your code:
Only change the print settings that need changing
Change the active printer to a PC printer, change the settings, and change the printer
back to the original printer.  The easiest way to get the code that changes the printer is
to record it.
15.3 How To Set The Print Area
To set the print area of a sheet, you need to set thePageSetup.PrintArea property equal to the
address of a range.
ActiveSheet.PageSetup.PrintArea = Selection.Address
You can set the print area on any worksheet, not just the active worksheet.  For example, the
following sets the print area on all worksheets equal to the selection on the active sheet, and prints
all the worksheets:
Dim rng As String
Dim ws As Worksheet
rng = Selection.Address
For Each ws In Worksheets
ws.PageSetup.PrintArea = ws.Range(rng ) _
.Address(external:=True)
330
ws.PrintOut
Next
The key to the above code is specifying the address with theexternal argument set toTrue,
which returns the full address, including sheet and workbook name.
The following are several examples of setting the print area
Worksheets("Sheet1").PageSetup.PrintArea = "A$1:B5"
R = 5
C = 2
ActiveSheet.PageSetup.PrintArea = _
Range(Cells(1, 1), Cells(R, C)).Address
ActiveSheet.PageSetup.PrintArea = Selection.Address
15.4 Determining The Print Area
The following statements will return a string which represents the print area on a worksheet:
MsgBox ActiveSheet.PageSetup.PrintArea
or
MsgBox Worksheets(index).PageSetup.PrintArea
This returns a string as an address, e.g. "A2:D55".
If you want to set a variable to this range, then use statements like the following:
Dim printR As Range
Set printR = Range(ActiveSheet.PageSetup.PrintArea)
OR
Dim printR As Range
WithWorksheets("Sheet1")
Set printR = .Range(.PageSetup.PrintArea)
End With
In the last example, notice that there are periods in front ofRange andPageSetup.  This links a
method or property back to the object specified in theWith statement.
Documents you may be interested
Documents you may be interested