display pdf in mvc : Rotate all pages in pdf and save Library application component asp.net azure html mvc 0234461096-Excel%20Hacks%20Tips%20and%20Tools%20for%20Streamlining%20Your%20Spreadsheets%20200731-part44

288 | Chapter 7, Macro Hacks
#119
Distribute Macros
HACK
'(6)Working with our new control, add a sub control and _
give it a caption and tell it which macro to run (OnAction).
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "Menu 1"
.OnAction = "MyMacro1"
End With
'(6a)Add another sub control and give it a caption _
and tell it which macro to run (OnAction)
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "Menu 2"
.OnAction = "MyMacro2"
End With
'Repeat step "6a" for each menu item you want to add.
'Add another menu that will lead off to another menu
'Set a CommandBarControl variable to it
Set cbcCutomMenu = cbcCutomMenu.Controls.Add(Type:=msoControlPopup)
' Give the control a caption
cbcCutomMenu.Caption = "Ne&xt Menu"
'Add a control to the sub menu just created above
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "&Charts"
.FaceId = 420
.OnAction = "MyMacro2"
End With
On Error GoTo 0
End Sub
Sub DeleteMenu()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("&New Menu").Delete
On Error GoTo 0
End Sub
When using the
OnAction
property, it is possible that you may encounter
problems if there is a macro in the user’s workbook that has the exact same
name as a macro that resides in your add-in. To play it safe, it is often a
good idea to use a method like this:
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "&Charts"
.FaceId = 420
.OnAction = ThisWorkbook.Name & "!MyMacro2"
End With
Rotate all pages in pdf and save - 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#
pdf page order reverse; saving rotated pdf pages
Rotate all pages in pdf and save - 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; how to rotate pdf pages and save
Delete Rows Based on a Condition
#120
Chapter 7, Macro Hacks | 289
HACK
By doing this, you ensure that Excel knows which macro you want run
when the user clicks the button. With these snippets of code, you’ll find it
easy to distribute and use macros to their fullest potential.
H A C K
120
Delete Rows Based on a Condition
Hack #120
Use specific criteria to delete rows from your worksheet, with or without the
AutoFilter feature.
One question we are often asked is: “How can I delete rows from my Excel
worksheet based on a specified criteria or condition?” There are a number of
ways you can do this, and this hack presents the two fastest. The first (using
the AutoFilter) is the fastest by far.
Both examples are based on your data being in a contiguous
range with the criteria/condition you’re looking for in the
relative column of the table you specify. The first rowof your
table should be headings.
With AutoFilter
Let’s assume you have some data in a table, set up likeFigure7-12, and you
have applied an AutoFilter in column E to showAdministration, Finance,
and Maintenance Departments only.
Figure 7-12. Table set up with Auofilter applied in column E
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
NET example for how to delete several defined pages from a PDF document Dim detelePageindexes = New Integer() {1, 3, 5, 7, 9} ' Delete pages. All Rights Reserved
rotate pages in pdf online; pdf rotate pages separately
C# PDF Page Insert Library: insert pages into PDF file in C#.net
as how to merge PDF document files by C# code, how to rotate PDF document page This C# demo explains how to insert empty pages to a specific All Rights Reserved
rotate all pages in pdf and save; pdf rotate page and save
290 | Chapter 7, Macro Hacks
#120
Delete Rows Based on a Condition
HACK
Now, let’s say you want to delete all rows with the word
Finance
in the
Department column (Column E). Right-click on the sheet tab, select View
Code, and enter in the following code:
Sub DeleteRowsFastest()
Dim rTable As Range
Dim lCol As long
Dim vCriteria
On Error Resume Next
'Determine the table range
With Selection
If .Cells.Count > 1 Then
Set rTable = Selection
Else
Set rTable = .CurrentRegion
On Error GoTo 0
End If
End With
'Determine if table range is valid
If rTable Is Nothing Or rTable.Cells.Count = 1 Or WorksheetFunction. ↵
CountA(rTable) < 2 Then
MsgBox "Could not determine you table range.", vbCritical, "Ozgrid.com"
Exit Sub
End If
'Get the criteria in the form of text or number.
vCriteria = Application.InputBox(Prompt:="Type in the criteria that ↵
matching rows should be deleted. " _
& "If the criteria is in a cell, point to the cell with your mouse ↵
pointer", _
Title:="CONDITIONAL ROW DELETION CRITERIA", Type:=1 + 2)
'Go no further if they Cancel.
If vCriteria = "False" Then Exit Sub
'Get the relative column number where the criteria should be found
lCol = Application.InputBox(Prompt:="Type in the relative number of the ↵
column where " _
& "the criteria can be found.", Title:="CONDITIONAL ROW DELETION COLUMN ↵
NUMBER", Type:=1)
'Cancelled
If lCol = 0 Then Exit Sub
'Remove any existing AutoFilters
ActiveSheet.AutoFilterMode = False
'Filter table based on vCriteria using the relative column position ↵
stored in lCol.
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
1. public void DeletePages(int[] pageIndexes). Description: Delete specified pages from the input PDF file. Parameters: All Rights Reserved.
rotate pdf page few degrees; rotate individual pages in pdf reader
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
doc2.InsertPages(pages, pageIndex) ' Output the new document how to use VB to insert an empty page to a specific location of current PDF file All Rights Reserved
save pdf rotated pages; save pdf after rotating pages
Delete Rows Based on a Condition
#120
Chapter 7, Macro Hacks | 291
HACK
rTable.AutoFilter Field:=lCol, Criteria1:=vCriteria
'Delete all rows that are NOT hidden by AutoFilter.
rTable.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
'Remove AutoFilters
ActiveSheet.AutoFilterMode = False
On Error GoTo 0
End Sub
Close the window to get back to your worksheet, and then save your work-
book. Now, select any single cell in your table and select Developer
Code
options
Macros (pre-2007, Tools
Macros) or press Alt/Option-F8.
To run the code, select the macro name
DeleteRowsFastest()
and press Run.
You will be asked to select your criteria by clicking a cell within your table,
so select a cell in column E (Departments) containing the word Finance and
click OK. Then, you will be asked which column in the table your criteria
resides in. Enter the number
5
as the criteria, because Finance resides in the
fifth column of the table. Click OK. Once you have made both selections,
the code will run and will remove all rows with the desired criteria in them.
The code will remove the AutoFilters after deleting the
required rows.
Without AutoFilter
Using the previous code is the fastest and cleanest way to delete rows based
on criteria. It is also the most useful way, because most times you would
want to remove data after an AutoFilter has been applied.
But if you don’t have AutoFilters applied to your table, you can use the fol-
lowing code to do the same thing.
Right-click on the sheet tab, select View Code, and enter the following code:
Sub DeleteRowsSecondFastest()
Dim rTable As Range
Dim rCol As Range, rCell As Range
Dim lCol As Long
Dim xlCalc As XlCalculation
Dim vCriteria
On Error Resume Next
'Determine the table range
With Selection
If .Cells.Count > 1 Then
Set rTable = Selection
Else
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
Description: Copy specified page from the input PDF file pageIndexes, The page indexes of pages that will be copied, 0
rotate a pdf page; rotate all pages in pdf file
C# Create PDF from Excel Library to convert xlsx, xls to PDF in C#
Merge all Excel sheets to one PDF file. Export PDF from Excel with cell border or no border. Description: Convert to PDF/TIFF and save it on the disk.
rotate pdf page; rotate single page in pdf
292 | Chapter 7, Macro Hacks
#120
Delete Rows Based on a Condition
HACK
Set rTable = .CurrentRegion
On Error GoTo 0
End If
End With
'Determine if table range is valid
If rTable Is Nothing Or rTable.Cells.Count = 1 Or WorksheetFunction. ↵
CountA(rTable) < 2 Then
MsgBox "Could not determine you table range.", vbCritical, "Ozgrid.com"
Exit Sub
End If
'Get the criteria in the form of text or number.
vCriteria = Application.InputBox(Prompt:="Type in the criteria that ↵
matching rows should be deleted. " _
& "If the criteria is in a cell, point to the cell with your mouse ↵
pointer", _
Title:="CONDITIONAL ROW DELETION CRITERIA", Type:=1 + 2)
'Go no further if they Cancel.
If vCriteria = "False" Then Exit Sub
'Get the relative column number where the criteria should be found
lCol = Application.InputBox(Prompt:="Type in the relative number of the ↵
column where " _
& "the criteria can be found.", Title:="CONDITIONAL ROW DELETION COLUMN ↵
NUMBER", Type:=1)
'Cancelled
If lCol = 0 Then Exit Sub
'Set rCol to the column where criteria should be found
Set rCol = rTable.Columns(lCol)
'Set rCell to the first data cell in rCol
Set rCell = rCol.Cells(2, 1)
'Store current Calculation then switch to manual.
xlCalc = Application.Calculation
Application.Calculation = xlCalculationManual
'Loop and delete as many times as vCriteria exists in rCol
For lCol = 1 To WorksheetFunction.CountIf(rCol, vCriteria)
Set rCell = rCol.Find(What:=vCriteria, After:=rCell, LookIn: ↵
=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Offset(-1, 0)
rCell.Offset(1, 0).EntireRow.Delete
Next lCol
'Put back calculation to how it was.
Application.Calculation = xlCalc
On Error GoTo 0
End Sub
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
NET source code for combining multiple PDF pages together in Remarkably, all those C#.NET PDF document page processing source PDF streams into one PDF file and
rotate single page in pdf file; rotate pages in pdf permanently
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Description: Convert all the PDF pages to target format images and save them into streams. Parameters: Name, Description, Valid Value.
pdf rotate single page reader; how to rotate one page in pdf document
Track and Report Changes in Excel #121
Chapter 7, Macro Hacks | 293
HACK
Close the window to get back to your worksheet, and then save your work-
book.
Now, select any single cell in your table and select Developer
Code
Macros (pre-2007, Tools
Macros) or press Alt/Option-F8. To run the
code, select the macro name
DeleteRowsSecondFastest()
and press Run.
H A C K
121
Track and Report Changes in Excel
Hack #121
To overcome the limitations of the Track Changes feature, you can employ
some help from Excel VBA and Excel’s Change Events feature.
If you want to track any changes that either you or someone else has made
to your data, you can use Excel’s Track Changes feature, under Review
Changes (pre-2007, Tools
Track Changes). However, by doing it this way
this function has a couple of drawbacks. When Track Changes is enabled,
you are forced to share the workbook, whether you want to or not. Also,
Track Changes makes many standard Excel features unavailable. We can
easily conquer this problem with some code.
Be aware that this code is designed to track and record user
changes only one cell at a time.
Track Changes on a Particular Worksheet
For this to work, you need to have a workbook with two worksheets. Sheet1
contains the data to which you want to track and record any changes made,
such as inFigure7-13. Sheet 2 will contain a list of the tracked changes
when we run the code.
To track user changes on a single worksheet, place the following code in the
Private
module of the worksheet where you would like changes tracked and
logged (remember, we have used Sheet1). To get there easily, right-click on
the sheet name tab, choose View Code, and paste the following code:
Dim vOldVal 'Must be at top of module
Private Sub Worksheet_Change(ByVal Target As Range)
Dim bBold As Boolean
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
294 | Chapter 7, Macro Hacks
#121
Track and Report Changes in Excel
HACK
If IsEmpty(vOldVal) Then vOldVal = "Empty Cell"
bBold = Target.HasFormula
With Sheet2
.Unprotect Password:="Secret"
If .Range("A1") = vbNullString Then
.Range("A1:E1") = Array("CELL CHANGED", "OLD VALUE", _
"NEW VALUE", "TIME OF CHANGE", "DATE OF CHANGE")
End If
With .Cells(.Rows.Count, 1).End(xlUp)(2, 1)
.Value = Target.Address
.Offset(0, 1) = vOldVal
With .Offset(0, 2)
If bBold = True Then
.ClearComments
.AddComment.Text Text:= _
"OzGrid.com:" & Chr(10) & "" & Chr(10) & _
"Bold values are the results of formulas"
End If
.Value = Target
.Font.Bold = bBold
End With
.Offset(0, 3) = Time
.Offset(0, 4) = Date
End With
.Cells.Columns.AutoFit
.Protect Password:="Secret"
End With
vOldVal = vbNullString
Figure 7-13. Data to be tracked
Track and Report Changes in Excel #121
Chapter 7, Macro Hacks | 295
HACK
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
On Error GoTo 0
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
vOldVal = Target
End Sub
Now double-click on Sheet2 in the VBA Project window. Ensure Sheet2 has
a
Sheet CodeName
of
Sheet2
,which will be shown next to Name in the Proper-
ties window of the VBE. This worksheet should also be set to
xlVeryHidden
by selecting it from the drop-down menu next to Visible in the Properties
window of the VBE. This will make sure that other users are not able to
modify the report.
The code also protects Sheet2 with the password
Secret
.While worksheet
protection is applied to Sheet2, Excel’s worksheet protection is rather weak,
so hiding of the sheet is an added measure, especially if you lock the Visual
Basic Editor, which will ensure macro code is not visible to end users and to
a point protects your intellectual property.
Exit the VBE and save your workbook.
Next time you open your workbook and make any changes to Sheet1, the
changes will be recorded in Sheet2, in the format shown in Figure7-14.
Remember, though, you can only unhide Sheet2 by setting the
Visible
prop-
erty of Sheet2 to
xlSheetVisible
.
Track Changes on All Worksheets in One Workbook
Using similar code, you can also track changes on all worksheets in a given
workbook. Like the previous example, this code places the tracked changes
on Sheet2 of the workbook. Sheet2 must therefore have a codename of
Sheet2
and should be set to
xlVeryHidden
.
Figure 7-14. Sheet2 showing record of changes to Sheet1
296 | Chapter 7, Macro Hacks
#121
Track and Report Changes in Excel
HACK
However, this code must be placed in the
Workbook
module (
ThisWorkbook
)of
the workbook. Right-click on the sheet name tab, choose View Code, dou-
ble-click on
ThisWorkbook
in the Project window of the VBE, and paste the
following code:
Dim vOldVal 'Must be at top of module
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim bBold As Boolean
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
If IsEmpty(vOldVal) Then vOldVal = "Empty Cell"
bBold = Target.HasFormula
With Sheet2
.Unprotect Password:="Secret"
If .Range("A1") = vbNullString Then
.Range("A1:E1") = Array("CELL CHANGED", "OLD VALUE", _
"NEW VALUE", "TIME OF CHANGE", "DATE OF CHANGE")
End If
With .Cells(.Rows.Count, 1).End(xlUp)(2, 1)
.Value = "'" & Sh.Name & "'!" & Target.Address
.Offset(0, 1) = vOldVal
With .Offset(0, 2)
If bBold = True Then
.ClearComments
.AddComment.Text Text:= _
"OzGrid.com:" & Chr(10) & "" & Chr(10) & _
"Bold values are the results of formulas"
End If
.Value = Target
.Font.Bold = bBold
End With
.Offset(0, 3) = Time
.Offset(0, 4) = Date
End With
.Cells.Columns.AutoFit
.Protect Password:="Secret"
End With
vOldVal = vbNullString
With Application
Automatically Add Date/Time to a Cell upon Entry #122
Chapter 7, Macro Hacks | 297
HACK
.ScreenUpdating = True
.EnableEvents = True
End With
On Error GoTo 0
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
vOldVal = Target
End Sub
Again, exit the VBE and save and close your workbook.
When you open your workbook, make sure you enable macros to run the
code, and any changes you make to any of the worksheets in the workbook
will be tracked and recorded on Sheet2 in the same format asFigure7-14,
except that this code will also record the sheet name as well as the cell refer-
ence in column A.
H A C K
122
Automatically Add Date/Time to a Cell upon Entry
Hack #122
Enter a static date, or date and time, into a corresponding cell after data is
entered into other cells.
You can easily automate the insertion of date/time information into a cell by
using the
TODAY( )
or
NOW()
function, but if the date entered must be static,
you’ll need this hack.
Let’s suppose you’ve set up some data and you want the current date
entered into column B when data is entered in column A in the same row.
Add the following code to the
Private
module of the worksheet that will
store the data and corresponding date. To quickly get there from Excel,
right-click on the sheet name tab, choose ViewCode, and paste the follow-
ing code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
With Target(1, 2)
.Value = Date
.EntireColumn.AutoFit
End With
End If
End Sub
Exit the VBE and save your workbook.
Documents you may be interested
Documents you may be interested