Szolgáltató adatai Help Sales ÁSZF Panaszkezelés DSA

Vba excel tutorial pdf

Learn Excel VBA Programming & Macros (Free Tutorial & Download PDF)





※ Download: Vba excel tutorial pdf


Therefore, PdfFilename is False whenever the user cancels the Save As dialog box. GetSaveAsFilename method to provide the Filename parameter when using the ExportAsFixedFormat method: Excel MVP Debra Dalgleish, at , suggests a similar and slightly more advanced example of VBA code to export the active sheet as a PDF file including use of the GetSaveAsFilename method. If the condition isn't met, performs no action.


This is, however, not the only type of loop you can use for these purposes. You specify the relevant file type by choosing the appropriate value from the XLFixedFormatType enumeration. Documents property above: expression.


Learn Excel VBA Programming & Macros (Free Tutorial & Download PDF) - For purposes of using Automation, the main thing you need to is create a connection between the relevant applications.


This commission comes at no additional cost to you. All of these topics are quite important. After all, PDF files are one of the most widely used formats for electronic documents. If you're anything like me, you probably encounter PDF files at work virtually every single day. In some of those cases, you may need to extract data from PDF to Excel. I cover the topic of manually converting PDF files to Excel in the first post I link to above. Those 3 methods particularly methods 2 and 3 are helpful in many situations you may encounter in your day to day work. You might, however, be wondering whether there's a way to automate such processes. If that's the case, I've got good news for you: It's possible to use VBA for purposes of extracting data from PDF files to Excel. To be more precise, you can use VBA to automate the 3 methods of converting PDF to Excel that I mention above. I show you how to do this in the VBA tutorial below. Therefore, let's start by taking a quick look at the topic of… Controlling Other Application From Excel With VBA There are several ways in which you can control other applications from Excel. More precisely, I use SendKeys when working with Adobe Reader or Able2Extract to convert a file from PDF to Excel. Automation is relevant for purposes of using Word when converting a PDF file to Excel. I explain how to use SendKeys for purposes of communicating between applications first. However, for purposes of using SendKeys, you first need to use and understand the Shell Function. The reason for this is that you can only use SendKeys with an application that is currently open and running. SendKeys isn't capable of opening an application by itself. However, the Shell Function is able to run an application. Once the application is running, you can use SendKeys. If the program doesn't run successfully, an error occurs. You use it to specify the following: 1: The path and name of the program to be executed. In other words, you generally use pathname to specify i the program to be executed and, if required, ii the file name and arguments required for purposes of executing the program. If you're working on a Mac, you can use for purposes of using the application signature instead of its name to specify the pathname argument. You use windowstyle for purposes of determining the style of the window in which the program you specify using pathname is executed. You can generally use the windowstyle values that appear in the table below. In all cases, I describe i what happens to the window of the newly executed program and ii which window has the focus is active : Value Constant Description 0 vbHide Program window is hidden. Focus is on hidden window. Focus is on new window. Focus is on new window icon. Focus is on new window. Focus is on current active window. Focus is on current active window. If you omit windowstyle, the default value is vbMinimizedFocus. In other words, the program starts minimized with focus. If you're working on a Mac, the following differences apply particularly on the more recent iOS versions : Difference 1: You can only use windowstyle to specify whether or not the relevant application has focus when executed. Difference 2: The vbHide windowstyle constant 0 I show above isn't generally applicable. Therefore, in practice, when working with a Mac you can usually only choose between the following 2 options: Option 1: Display the newly executed application in the foreground with focus. For these purposes, you can use any of the 3 windowstyle values with focus vbNormalFocus, vbMinimizedFocus or vbMaximizedFocus. Option 2: Open the application in the background without focus. For these purposes, you can generally use the windowstyle values without focus vbNormalNoFocus, vbMinimizedNoFocus or vbHide. The Shell Function has a characteristic that can be tricky to handle: It runs the relevant program asynchronously. In other words, Visual Basic for Applications continues executing the statements that follow the Shell Function without pausing regardless of whether Shell has achieved its purpose opening another application. In other words, those statements may need the application launched by Shell to be open before they can do anything. You don't have to go too far to find situations where this is an issue. In fact, that I provide below serve as examples. This, however, doesn't mean that you can't do anything to reduce the possibility of errors. As Richard Mansfield goes on to explain in the above-cited Mastering VBA for Microsoft Office 2016: A crude but often-effective fix is to just allow extra time for the Shell function to execute before taking any dependent action. There are a few ways in which you can allow for this extra time. You can use the Sleep API to suspend execution of a thread for a certain amount of time. The Wait method allows you to pause a macro for a specified amount of time. I don't cover these topics in detail within this blog post. However, I may write about the topic of pausing or delaying VBA in more detail sometime in the future. If you want to receive an email whenever I publish new content in Power Spreadsheets, please make sure to register for our Newsletter by entering your email address below now: Before we move on to SendKeys, let's take a short look at the… TaskKill Command The main purpose of the TaskKill command is to end a task or process. As explained by , you can use the Shell Function for purposes of killing the application once you're done working with it. Therefore, in the context of this VBA tutorial, we're interested in how we can use TaskKill for purposes of closing the application that the Shell Function runs. As a consequence of this, I don't explain everything there's to know about the TaskKill command. The syntax of the TaskKill command can get relatively complicated. This makes reference to the Process ID of the task or process you want to terminate. If you use this alternative within the context of this tutorial, the relevant Process ID is the task ID returned by the Shell Function as I explain above. In this alternative, you specify the process to be terminated by using its image process name. This is the way in which I specify the task to be terminated in the code examples below. You can refer to them for purposes of seeing how I implement the TaskKill command to close both Adobe Reader and Able2Extract after using them to convert the data from a PDF file to Excel. SendKeys Statement And Application. SendKeys Method Visual Basic for Applications has both a SendKeys statement and a SendKeys method. They both behave in a very similar manner and, therefore, I explain both of them in this section. Let's start by taking a general look at the main similarities and differences between the statement and the method: SendKeys Statement Vs. SendKeys Method As a general matter, you can use both the SendKeys statement and the Application. SendKeys method to send keystrokes to a particular window or application. This, in practice, has the same result as actually typing those statements on the keyboard. As a general rule, you can't use SendKeys to send keystrokes to an application that isn't designed to be executed on a Windows or Mac platform. This is the case, for example, of DOS applications that run in a virtual machine. SendKeys is also not able to work with applications that aren't currently running. As I mention above, you must use the Shell Function for purposes of opening the application. Once the application is running, you can use SendKeys. SendKeys method for purposes of sending keystrokes to the active application. Even though the description is almost identical, notice the difference at the end of the description of both constructs. Even though the active window and the active application may and usually make reference to the same, this isn't always the case. As explained by Excel expert Joe Was in , the active window and active application may be different. So, what's the bottom line? More precisely, in order to determine which one is appropriate to use, you must be aware whether you're i controlling one application from another, or ii working within one application. SendKeys method mirrors the above: expression. SendKeys Keys, Wait When working with the Application. This first argument string or Keys is required. You use it to specify the keystrokes that should be sent as a string. You use it to determine whether Excel waits for the relevant keystrokes to be processed before control comes back to the macro. More precisely: If you set wait to True, the keystrokes you specify with argument 1 string or Keys are processed. Only after this processing has been completed, control returns to the VBA procedure. If you omit the wait argument or set to its default value of False , the keystrokes are sent and control immediately returns to the macro. In this case, the VBA code doesn't wait for the keystrokes to be processed and the macro execution simply continues. Argument 2 is relatively straightforward. As I mention above, it's a Boolean and you can only set it to True or False or omit it. However, you have a lot of options when specifying argument 1 string or Keys. The main exceptions you should be aware of are those I explain in rule 4 below. The table below includes several of the most relevant. You can also refer to the lists at the Microsoft Dev Center for the SendKeys statement and for the SendKeys method. The main reason why they're subject to this rule is that they have a special meaning within other applications. This may be significant if there's dynamic data exchange DDE. Note that this rule 5 applies only to combinations of a single key with Shift, Ctrl or Alt. In other words, only the keystroke that immediately follows the code above for Shift, Ctrl or Alt is considered to be pressed at the same time. The other keystrokes in the string that you specify are considered to be pressed separately. For these purposes, enclose those other keys in parentheses. When To Use SendKeys SendKeys is a very basic way of controlling other applications from Excel. For example, in Mastering VBA for Microsoft Office 2016, author Richard Mansfield describes SendKeys as… The oldest and most primitive method of communicating between applications. You may not be surprised by such descriptions. In fact, as Mansfield himself explains, SendKeys may cause certain issues. In particular, you generally face limitations when trying to step through the code using. You might then be wondering… Should you use SendKeys at all? If so, when should you use SendKeys? SendKeys should probably not be your VBA construct of choice for purposes of controlling other applications from Excel. However, in certain situations, it can be helpful. A useful general rule is provided in Mastering VBA for Microsoft Office 2016: You may find SendKeys useful if neither Automation nor DDE works with the target application. In the code examples that I explain below, SendKeys is used for purposes of i accessing the menus of other applications and the tools within those menus, or ii taking within those applications. You can get this PDF file. The basic structure of this VBA application is commonly found throughout the Internet whenever you search for examples of how to extract data from PDF to Excel. For examples of similar versions, you can check out , , also , and. Let's take a look at each of the lines of code to understand the specifics behind this sample macro: Line 1: Dim myWorksheet As Worksheet Uses the Dim statement to declare the myWorksheet object variable as a Worksheet. The main purpose of this line of code is to create an object variable that represents the Excel worksheet where the contents of the PDF file are pasted. Lines 2 To 4: Dim adobeReaderPath As String Dim pathAndFileName As String Dim shellPathName As String All of these lines use the Dim statement for purposes of declaring several variables adobeReaderPath, pathAndFileName and shellPathName as Strings. In the case of this example 1, this application is Adobe Reader. The variable holding this string is adobeReaderPath. This string is held by the pathAndFileName variable. It i takes the expression to its right side item 3 below , and ii assigns it to the variable on its left side item 1 above. ActiveWorkbook property returns the active workbook. Property 2: The Workbook. This is the path to the application used to open the PDF file. Item 3: The string held by the pathAndFileName variable. This is the path to the PDF file you convert to Excel. This variable is declared in line 4 above. In other words, this is the line of code that opens the program you're using. In this code example 1, this program is Adobe Reader. As I explain above, you use the pathname to specify the program to be executed and any relevant arguments or command-line switches. In this code example, pathname is set to be the string held by the shellPathName variable. The value held by the shellPathName variable is as determined in line 8 above. Therefore, shellPathName holds a string containing the paths and names of i the executed program Adobe Reader in example 1 and ii the PDF file to be converted to Excel Statistical Tables. You use the windowstyle argument for purposes of specifying the style of the window in which the relevant program is executed. In this case, I use the vbNormalFocus constant. The consequence of this is that the program Adobe Reader in this case , opens in a window that has i focus and ii its original size and position. Lines 12 And 16: Application. I also mention how there are several ways in which you can handle these timing problems. Since this VBA tutorial focuses on how to convert files from PDF to Excel instead of pausing or delaying VBA , I use a relatively simple construct for these purposes: The Application. Both of these lines of code 12 and 16 use the Application. Wait method for purposes of pausing the execution of the sample macro until a particular time. Wait has a single required argument: Time. This is the time at which you want execution of the macro to resume. TimeValue takes its string argument time , and returns a Variant Date that contains the time. When used together as in this case , the Now and TimeValue Functions return a time that is a certain amount of time in the future. In other words, execution of the macro is paused for 3 seconds. The consequence of this is that execution of the macro pauses for 30 seconds. The times I'm using here are for illustrative purposes only. The computers you work with may be faster or slower than the ones I've used while testing the sample macro. Inaccuracies in the amount of time you use as argument for the Application. Wait method can result in errors. You might be wondering why should you ensure that scrolling is enabled if the only thing you want to do is select all the text. Let me explain: The Select All command of Adobe Reader which I use in the following line 14 doesn't always select all the text in the open file. More particularly, if Single Page View is enabled, Select All usually only selects the contents of a single page. Therefore, in order to ensure that the Select All command given in line 14 selects all the text within the PDF file vs. Within Adobe Reader, this is the keyboard shortcut to select all. In Adobe Reader, this is the keyboard shortcut to copy. Lines 17 And 20: With myWorksheet End With These are the opening and closing statement of a With… End With block. The consequence of using the With… End With statement is that the series of statements within the block lines 18 and 19 below are executed on the object specified in the opening line of the block. In the example we're looking at, this means that both lines 18 and 19 below work with the object represented by myWorksheet. Range and the Range. Select for purposes of selecting cell B4 of the worksheet represented by the myWorksheet variable. The range you select in this line of code or its equivalent determines where the contents of the PDF file are pasted in Excel. As explained at , you can generally use this method to paste data from other applications. Note that the Worksheet. PasteSpecial method which we're using in this example is different from the Range. PasteSpecial method that I explain. The syntax of the Worksheet. PasteSpecial method is as follows: expression. This is myWorksheet in this case. You as a string. Note that none of the parameters of the Worksheet. PasteSpecial method allows you to select a destination for pasting. Since there's no such parameter, Worksheet. PasteSpecial pastes the Clipboard contents in the current selection. As a consequence of this, you must select the destination range prior to calling the PasteSpecial method. The TaskKill command, in turn, kills Adobe Reader. The windowstyle parameter of the Shell Function is set to vbHide. As a consequence of this, you only see the relevant application Adobe Reader in this case closing. This VBA Convert PDF to Excel Tutorial is accompanied by Excel workbooks containing the data and macros I use. You can get immediate free access to this example workbook by subscribing to the Power Spreadsheets Newsletter. In most situations, this isn't the result that you want. However, if you're relying on Adobe Reader for purposes of converting a PDF file to Excel, you're unlikely to obtain better results. The reason for this is that, as a general rule, whenever you copy data from Acrobat Reader and paste it into Excel which is what this sample macro does , the data ends up in a single column. This is precisely what happens in the image above. The following sample macro solves this problem by using a PDF Converter: Able2Extract. You can try Able2Extract for free. The following image highlights the differences between both pieces of code: The differences between both macros can be reduced to the 2 that I explain in the following sections. As a consequence of the above, the VBA code behind both of these sample macros makes reference to different applications. This difference is reflected in 3 different places within the VBA code of the sample macros. Only 1 of these changes 3 has a material effect on the way the macro proceeds. This change isn't really material and I've done it for clarity purposes only. In fact, I could've used the same variable name for both macros. Generally speaking, what's more relevant is that you ensure compliance with the. Again, the change isn't really material. I've used different names because the sample workbook that accompanies this tutorial displays the results obtained when executing each macro in separate worksheets. In any case, the object you assign to the myWorksheet variable will, in the end, depend on the particular context you're in and how you want to design your VBA Sub procedure. Therefore, you're likely to modify this part of the code anyway. As I anticipate previously, this is the only of the 3 differences we're looking at here that has a material effect. In other words, you have flexibility when naming your variables and selecting the destination where you paste the data. However, you must ensure that you're making reference to the correct application when determining and structuring the pathname parameter of the Shell Function and the process name killed by the TaskKill command if required. The code examples in this blog post use alternative 2 process name. More precisely, the keyboard shortcuts you need to use when working with Adobe Reader differ slightly from those you need to use when using Able2Extract. Therefore, the VBA code must reflect these differences when using SendKeys. This keyboard shortcut enables scrolling. This shortcut selects all. This is the keyboard shortcut for the Copy command. When working with Able2Extract, you don't need to enable scrolling shortcut 1 above. However, as I show in the following section, the results obtained when using Able2Extract are significantly better to those obtained when relying on Adobe Reader. A particularly significant improvement is the fact that the macro that relies on Able2Extract is able to replicate the structure of the table in the original PDF document. The macro that uses Adobe Reader for these purposes generally pastes all the values in a single column. Furthermore, the macro that relies in Able2Extract is usually able to extract all the values from the source PDF document. Granted, there are situations where you may still need to do some data cleansing after converting the data from PDF to Excel using VBA and Able2Extract. A final advantage of Able2Extract is that you can use its variety of keyboard shortcuts when working with SendKeys. This gives you more flexibility for purposes of determining which is the exact portion of data you want to extract. Notice, for example, how you can use keyboard shortcuts to execute virtually all of the commands within the Edit and Document menus of Able2Extract: Now that we've covered the topic of converting PDF to Excel using SendKeys alongside Adobe Reader or Able2Extract, let's move on to the next way of convert PDF files to Excel: with a recent version of Microsoft Word. For these purposes, let's start by taking a look at… The Microsoft Word Object Model: A Quick Introduction Before you start reading the sections on how to use Word for PDF conversion purposes, please note that you need to have at least Word 2013 installed in your computer. The previous versions of Microsoft Word don't have the PDF Reflow feature that converts PDF files to editable Word documents. If you're using an older version of Microsoft Word, you can upgrade now at. I cover object models in several posts within Power Spreadsheets. As I explain in any of those posts, is important to have a good understanding of the object model of the application s you're working with. The main reason for this is that, whenever you're working with VBA, you're basically manipulating the objects of that application. Word isn't an exception to this general rule. Just as Excel, Outlook or the Ribbon Commander, Word has its own object model. Therefore, in this section, I provide a short introduction to this particular model. What Is The Word Object Model As a general rule, you can picture a VBA object model as being a hierarchy. This hierarchy contains you can use. Object model hierarchies have an object at the top. That object contains other objects. Those objects may, in turn, contain other objects. This process goes on until. Therefore, any object within the object model hierarchy has the potential of containing other objects. In any case, you eventually reach a point where a particular object doesn't hold any other objects. This basic idea is pretty much the same regardless of which particular VBA object model you're looking at. In other words, even though the exact components of the Word object model differ from those of the Excel object model, their structure follows the general rule I explain above. The object at the top of a VBA object model is usually known as Application. The Application object represents the relevant application. Since Word's Application object contains other objects, you can think of it as the root from which you access all the other objects of Word's object model. You generally obtain access to Word's top-level objects by appropriately using the properties of the Application object. Let's take a closer look at each of these: The Application. Documents Property, The Documents Collection And The Document Object The main purpose of is to return a Documents collection. The basic syntax of Application. Documents is as follows: expression. Documents property is a collection representing all the Document objects currently open. Each of those Document objects represents an individual document. For example, the following image shows 5 open Word documents. In this case, the Documents collection represents all of these documents Document1 through Document5. Each of the individual documents Document1, Document2, Document3, Document4 and Document5 is represented by an individual Document object. ActiveDocument Property The main purpose of is to return the Document object that represents the current active Word document. The basic syntax of Application. ActiveDocument follows that of the Application. Documents property above: expression. Automation, Early And Late Binding: An Introduction Automation is probably the most commonly used and the preferred tool for purposes for purposes of controlling one Windows application from another. Within the context of this blog post, the Server Application is Word. For purposes of this tutorial, the Client Application is Excel. Using Automation has several advantages over relying on the Shell Function and SendKeys. In this context, a particularly important advantage of Automation is that it allows you to programmatically access the Component Object Model COM objects offered by the Server Application. In the words of author Richard Mansfield in Mastering VBA for Microsoft Office 2016 : Automation lets the client application harness the built-in capabilities of the server application. In the case we're looking at, you use Excel to harness the built-in capabilities of Word. The purpose of doing this, in this case, is to convert the contents of a PDF file to Excel. For purposes of using Automation, the main thing you need to is create a connection between the relevant applications. In this particular case, those applications are Word and Excel. Once you've created the reference, the objects, properties and methods within that library are available while you're coding the relevant VBA application. Instead of this, you create an object that references that object library upon execution. In the sections below, I provide samples of VBA code that use both early and late binding. In the section containing the code sample that uses early binding, I also show how you can create a reference to Word's object library. The basic steps of this process open file, copy and paste are roughly the same as the steps followed by the previous macro examples 1 using Adobe Reader and 2 with Able2Extract. Therefore, you may notice that some lines of code are substantially the same as those used by the previous samples. I explain each of the lines of code below. When appropriate, I refer to the equivalent lines of code in previous sections. However, since this particular macro uses early binding, you must start by setting up a reference to the relevant object libraries. Once you've found it, select it click on the check box on the left side. The following screenshot is how the dialog box I'm working with looks like. I'm using Office 2016. Therefore, the label of the Microsoft Word Object Library refers to Microsoft Word 16. If you're using a different version, the version number changes. Once you've set the object reference, you can access the Word object model and use the objects, methods and properties it contains. Line 1: Dim myWorksheet As Worksheet Uses the Dim statement for purposes of declaring the myWorksheet object variable as a Worksheet. The purpose of the myWorksheet object variable is to represent the Excel worksheet where the data within the PDF file is pasted. This line of code is substantially the same as line 1 of the previous macro examples. Line 2: Dim wordApp As Word. Application Declares the wordApp object variable as of the type Word. The main purpose of this line of code is to create a variable representing the Word application in order to expose the Word object model. Line 3: Dim myWshShell As wshShell Declares the myWshShell object variable as of the type. The purpose of this line of code is similar to that of the previous line 2. More precisely, this line 3 creates the variable that provides access to the native Windows shell. I explain why myWshShell is required when explaining line 13 below. Lines 4 To 6: Dim pathAndFileName As String Dim registryKey As String Dim wordVersion As String These lines use the Dim statement to declare several variables pathAndFileName, registryKey and shellPathName as Strings. Line 4 Dim pathAndFileName As String is exactly the same as line 3 of the previous macro examples. Its purpose is to declare a variable that holds the path to the PDF file you want to convert to Excel. This variable holds a relatively long string see line 12 below. This variable appears in lines 13 and 17 below. In those lines, the RegWrite method is used to ensure that Word opens the PDF file you want to convert without displaying a dialog box warning you of the conversion. The purpose of wordVersion is to hold the version number of the Word version that you'll use when executing the macro. This value is assigned in line 11 below. It uses the Set statement to assign a particular worksheet Word Early Binding of the active workbook to the myWorksheet object variable. Application to the wordApp variable. Application or wshShell by using the New keyword. Application or New myWshShell to ii the variable to its left side wordApp or myWshShell. Version This line of code uses wordApp. This property returns the version number of the relevant Word version. That version number returned by the Version property is assigned to the wordVersion variable. In order for Word to proceed with the PDF to Word conversion, you must press the OK button within the displayed dialog box. Additionally, you have the option of specifying that the message shouldn't be displayed again. To do this, you just need to check the relevant box that appears on the left side of the dialog box. Clicking the OK button manually is quite easy. At first glance, this is something that would also be easy to handle using VBA. However, here's the deal: As explained by who proposes the solution I implement in this sample macro , the key that corresponds to the value written to the registry doesn't initially exist. In order to proceed with the PDF to Word conversion, you must solve this. And this line 13 is the one that helps you solve this issue. Let's see how: The statement uses of the WshShell object. The basic syntax of RegWrite is as follows: object. In this line 13, this object is myWshShell. The string assignment for registryKey was made in the previous line 12. As explained by MVP Graham Mayor, the string assigned to strName is the value written to the registry. To specify a value-name as in the case we're analyzing , specify strName without a backlash at the end. Within line 13, this corresponds to 1. This strType corresponds to Integer. It allows you to specify a number in the form of an integer. The practical effect of this line of code 13 is, as explained , that the warning in the dialog box that I explain above regarding the PDF to Word conversion is turned off. Therefore, Visual Basic for Applications is able to proceed with… Lines 14 To 16: wordApp. The statement calls the Documents. The basic syntax of Documents. Open is as follows: expression. Open FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,WritePasswordDocument, WritePasswordTemplate, Format, Encoding, Visible, OpenConflictDocument, OpenAndRepair,DocumentDirection, NoEncodingDialog A thorough description of the 16 parameters 15 of which are optional of Documents. Open exceeds the scope of this VBA tutorial. You can refer to for these purposes. Filename is the only required parameter of the Documents. You use it to specify the name of the document you want to open and add to the Documents collection. The value assigned to pathAndFileName in line 4 above corresponds to the path and file name of the PDF document you're converting to Excel. ConfirmConversions is an optional parameter. It allows you to determine whether the Convert File dialog box is displayed or not. This parameter can be set to True display or False don't display. In this code example, it's set to False. As a consequence of the above, the practical effect of lines 14 to 16 is that Word opens the PDF file you want to convert to Excel. The only difference between lines 15 and 17 is the value assigned to the anyValue parameter of the RegWrite method. In practice, line 17 reverses what line 15 does. In other words, it turns the warning regarding the PDF to Word conversion back on. Other than the above, the general aspects within the explanation I provide in line 15 above are applicable. Copy Uses for purposes of copying the content of the file you want to convert. The basic syntax of the Range. Copy method is as follows: expression. Within this line 18, this Range object is that returned by. When you use Document. The Document object to which the Content property makes reference to is the active word document returned by Word's Application. Lines 19 And 22: With myWorksheet End With These 2 lines of code are the opening and closing statements of a With… End With block. The practical effect of With… End With is that the series of statements within the block are executed on the same object. The whole With… End With block composed by lines 19 to 22 of this sample macro has substantially the same effect as lines 17 to 20 of the previous macro examples. Select This line of code is the same as line 18 of prior code examples. It uses the Range. Select method to select cell B4 of myWorksheet. This line sets the location where the data from the PDF file you're converting is pasted. This statement is needed because it's required by the Worksheet. PasteSpecial method used by… Line 21:. More precisely, it uses the Worksheet. PasteSpecial method for purposes of pasting the contents of within the Clipboard on the selected range see line 20 above using a particular format. The syntax of the Quit method is as follows: expression. In this case, expression is wordApp. You can set the SaveChanges parameter to any of the following 3 values from : Name Value Description wdDoNotSaveChanges 0 Don't save changes. In this case, I set SaveChanges to wdDoNotSaveChanges. Therefore, Word doesn't save the changes the conversion of the PDF file. The reason these statements are included is to release the memory. The only difference is that, instead of using early binding, this sample 4 uses late binding. There are only a few differences between the 2 macro examples that rely on Word to convert a PDF file. I highlight them in the following image: I explain these differences in the following sections. Other than these clarifications, the comments I provide above when explaining macro example 3 with early binding are roughly applicable to this macro. When using late binding, you don't need to set up a reference to the Word Object Library or the Windows Script Host Object model. Let's take a look at the code changes: Lines 2 And 3: Dim wordApp As Object Dim myWshShell As Object Both of these lines of code use the Dim statement to declare an object variable. Furthermore, in both cases, the object variable is declared as an Object. This declaration as Object forces late binding. These lines of code are the equivalent of lines 2 and 3 of the previous macro example 3 that uses early binding. The consequence of this difference is that both macros paste the data from the PDF file in different Excel worksheets. This difference, however, isn't strictly related to the topic of early binding vs. It's simply a consequence of the way in which I create and organize the sample workbooks that accompany this tutorial. For purposes of this example, these objects are the Word Application Word. Application and the Windows Shell WshShell. In both cases, this is achieved by using. In the previous macro example 3 with early binding , the object references are created in the same lines 8 and 9. However, in those cases, the object reference is created by using the New keyword instead of the CreateObject Function. The consequence of this line is, therefore, that Word closes without saving the file changes. The only difference between the syntax used in the macro that uses early binding and here is the way in which the value of the SaveChanges parameter is specified. In the previous example, this was specified as wdDoNotSaveChanges. Here, it's assigned the value of 0. Since the value 0 corresponds to wdDoNotSaveChanges, they're both equivalent. Now that we've covered how you can use Word to extract data from PDF to Excel using VBA, let's take a look at the results I obtain when executing the sample macros 3 and 4: PDF To Excel Using Microsoft Word: Example Results The VBA code examples 3 and 4 are materially the same. The only difference between them is the fact that 3 uses early binding, whereas 4 uses late binding. As a consequence of the above, the results I obtain when executing both macros are substantially the same. Therefore, in the images below, I only show the results I obtain when executing the early binding macro version. At first glance these results seem to be very good. In particular, i the values seem to be appropriately extracted and ii the structure of the original file including its tables seems to be well replicated. However, upon scrolling down the file, some issues become evident. Check out, for example, the following screenshot and notice how the 2 rows I highlight. The following screenshot shows how this data looks in the original PDF file. Microsoft explains the reasons why Word may not accurately convert a particular PDF file. In such cases, the page or section may be transferred to Excel as an image. Despite the above weakness, relying on Microsoft Word for purposes of creating a macro that converts PDF to Excel has some advantages vs. Furthermore, by avoiding the Shell Function and SendKeys, you prevent the timing issues that are sometimes associated to their use. By now, you probably have a very good idea of the pros and cons of each of the different approaches I cover in this VBA tutorial. Therefore, is a good time to check out… PDF To Excel Using VBA: Which Approach To Use After learning about the different applications you can rely on for purposes of converting a PDF file to Excel Adobe Reader, Able2Extract and Word , you may rightly be wondering whether one is better than the others. In my opinion, each of the 3 approaches I explain in this tutorial has different advantages and disadvantages. Despite the above, in my experience, the results you obtain when relying on Adobe Reader are likely to be of lower quality and require more data cleansing than those obtained with Able2Extract or Word. In order to choose between Word and Able2Extract, I generally suggest that you consider the particular characteristics of the situation you're in. This question may seem relatively obvious, but the computer where your VBA application will be running needs to have installed the application you'll be using Able2Extract or a recent version of Microsoft Word for the macro examples I propose above to work. If the PDF files you're converting are particularly lengthy and complex, Able2Extract may provide better conversion results. As I explain above, Word is prone to inaccuracies when the PDF file has items such as i tables with cell spacing, ii footnotes that span more than 1 page, iii endnote, iv PDF comments, or v pages or sections that are mostly charts or other graphs. If you're constantly converting PDF files to Excel, you may find that the investment in a PDF converter such as Able2Extract is worth it. As I explain above, one of the advantages of relying on Microsoft Word, is that you can access its object model. In certain scenarios, this may give you a good amount of flexibility and control over how you handle the PDF to Excel conversion. Conclusion After reading this VBA tutorial, you know at least 3 ways in which you can convert PDF to Excel using VBA. This VBA Convert PDF to Excel Tutorial is accompanied by Excel workbooks containing the data and macros I use above. You can get immediate free access to this example workbook by subscribing to the Power Spreadsheets Newsletter. For purposes of this VBA tutorial, I've excluded approaches that require relying on an API application programming interface. If you want and have the possibility , you can use an API for purposes of converting PDF files to Excel. Using an API certainly has advantages over some of the methods that I describe above. As I show above, Word's PDF Reflow feature works well in several scenarios. However, there are some situations where a more specialized PDF converter such as Able2Extract provides better and more accurate results. I may write about the topic of PDF to Excel conversion using APIs in future posts. For VBA code examples, check out the suggestions by VBA expert Christos Samaras at , exceljockey at , the code submitted by mohanvijay at or at the Adobe Forums. Books And Resources Referenced In This Excel VBA Tutorial Click on any of the links or images below to go to the official website of the software resource now. Some of these links are affiliate links, which means that if you choose to make a purchase, I will earn a commission. Click on any of the images below to purchase the book at Amazon now. I love reading and sharing success stories from amazing members of the Power Spreadsheets community, like you. If this or any other Tutorial has helped you, please share your success story below. This only takes few seconds and, by doing it, you help the future development of Power Spreadsheets. Any improvements I make to this or the other free Tutorials in Power Spreadsheets based on your feedback will benefit you too. I'd like to highlight your amazing work if there's a suitable opportunity. Therefore, I may publish your success story so other members of the Power Spreadsheets community can learn and be inspired by your success. If there's any data about you or your success story you don't want me to publish, please expressly specify this below.

 


For these purposes, vba excel tutorial pdf can use any of the 3 windowstyle values with focus vbNormalFocus, vbMinimizedFocus or vbMaximizedFocus. In order to proceed with the PDF to Word conversion, you must solve this. Parameter 9: FixedFormatExtClassPtr As explained atthe FixedFormatExtClassPtr parameter of the ExportAsFixedFormat method is a pointer to the FixedFormatExt class. All you need to do is download the training document, open it and start learning VBA for free. The VBA code samples that I provide in this section are just some of the examples of the different ways you can work with and generate the Filename argument of the ExportAsFixedFormat method. The checkboxes are linked to their respective row in columns Z, AA and AB which is used to test for the state of the checkbox. It i takes the expression to its right side item 3 belowand ii assigns it to the variable on its left side item 1 above. However, in other situations, you may want to save each worksheet within a workbook in a separate file.

0 Tovább

Service ontario drivers license address change

Publications





※ Download: Service ontario drivers license address change


The Ministry of Health can still contact you to have your red-and-white card replaced, even if your address doesn't change for a number of years. You can do both online if you want. Alternative Address Option for Peace Officers If you are a peace officer, you may have the address of the county courthouse in your county of residence printed on the face of your non-commercial driver license or ID card as an alternative option to using your residential address.


In most states and provinces, there are laws and implications to failing to notify of your new address. Nov 13th, 2012 12:33 pmYou need to update the address on file for the health card.


Driver License Address Change - Ontario - You can go in to a license centre to fill out a form, or just tear off and complete the change of address form on your drivers permit. Note: Only Original Documents are accepted.


It is important to change the address information on your Ontario drivers license as soon after you move as possible to ensure you always have a current and updated key identification card. You can change the license address information which takes approximately 15 minutes to complete or through a ministry approved Ontario drivers license office. Documentation Required When changing an Ontario driver license address you must also update your Ontario health card information. This will help make the process faster. If you have a red and white health card you also need the postal code on file. If you have a photo health card you will need the Canadian citizenship or immigration document number you used when applying for your prior health card. Cost It is free to change your address information. Arrival of new license It takes approximately 4-6 weeks to receive your new license in the mail. Finding a Service Ontario location near you If you would prefer to visit an Ontario Service Center in person to change your driver license address information make sure you put together the above identified list of documentation before hand. You can than use the below Ontario city list to to find an Ontario drivers license office close to you.

 


If you live in Ontario, you must,notify the Ministry of Transportation within 6 days of your move. In many cases, changing an address on a driver's license will result in the DMV notifying the Secretary of State of a voter change of address. You can do both online if you want. July 31, 2010 4:18 P. I don't own my vehicle, so nothing to do there. It is important that you keep your address up-to-date in order to keep your OHIP coverage active. Your address will not be shown on the back of the card. You can go in to a license centre to fill out a form, or just tear off and complete the change of address form on your drivers permit. For your vehicle permit, on the other hand, you will have to pick it up in person at a. Why don't you want a new one?.

0 Tovább

Imessage an error occurred during activation

Guides





※ Download: Imessage an error occurred during activation


Head back to Messages and turn-on iMessage. Downgrade or Upgrade Firmware If you see this error after upgrading to newer firmware version, chances are this update comes with some issues within it, thanks to Apple. Do read the article and follow the steps properly.


Sponsored Links How to Fix iMessage Waiting for Activation Error on iPhone Solution 1. We hope this will definitely solve your problem and your iMessage will get activated soon after the update.


Guides - But before starting these methods, you need to check all possibilities as your phone settings first.


You can also use your email address with iMessage and FaceTime. Sign in to your and review all the email addresses you have on file, including the one that you're trying to verify. If the email address is incorrect,. Then click Resend next to the email address that you want to verify. If you can't sign in to iMessage or FaceTime on your Mac, see. Information about products not manufactured by Apple, or independent websites not controlled or tested by Apple, is provided without recommendation or endorsement. Apple assumes no responsibility with regard to the selection, performance, or use of third-party websites or products. Apple makes no representations regarding third-party website accuracy or reliability. Risks are inherent in the use of the Internet. Other company and product names may be trademarks of their respective owners.

 


The iMyFone official website has offered the free trial version so that you can figure out whether your device can be detected. Do let us know which method worked for you and also share your experiences with us. Hence, make sure your internet connection is up to the mark. How to fix iMessage Waiting for Activation Error Before you look for solutions to fix iMessage waiting for activation you must make sure some of the settings in your iPhone and continue changing them to fix your error. You can also if the problem continues even after the software update or restoring your device. Delete all those files they should list as application passwords under the Kind category. Now clear all your Profiles and Reset VPN Configurations. Now the first solution is you can downgrade your device to the previous iOS version, where iMessage had worked flawlessly. If nothing goes your way, reset all the network settings and everything will move to the default factory settings.

0 Tovább

Iso 93





※ Download: Iso 93


The whey isolate blend also contains Lactoferrin, which is a highly anabolic micro-fraction of whey. Chỉ thấy là nó không tạo mỡ như bác tuananh1203 nói, nhưng cũng lâu lên cơ, chắc uống 1 thùng này cũng không ăn thua, được cái mùi vị ngon, dễ uống. Intense training causes muscle cell glutamine levels to decrease, allowing for muscle breakdown.


Need I say more? Ultimate Nutrition have also added Glutamine, ALA, and 4-hydroxyisoleucine found in fenugreek seed that may have anti-obesity effects. Do trước đây mình chưa từng dùng sp nào khác ngoài mass tăng cân nên cũng chả biết đường so sánh.


- Do trước đây mình chưa từng dùng sp nào khác ngoài mass tăng cân nên cũng chả biết đường so sánh. A message will contain at least one bitmap, called the primary bitmap, which indicates which of data elements 1 to 64 are present.


Ultimate Nutrition Iso Sensation 93 Ultimate Nutrition is proud to present Iso Sensation 93 containing 100% IsoChill Whey Protein Isolate. IsoChill is a functional whey protein isolate, processed by a novel ultra-low temperature micro-filtration process. It contains a full balance of undenatured bioactive whey proteins, including immunoglobulin IgG , lactoferrin Lf , and glycomacropeptide GMP. It is derived from sweet whey, membrane-filtered, and spray-dried by indirect heat, to ensure the highest product quality. This unique formula is further enhanced with colostrum. Colostrum exerts important biological activities when given to adults. As our bodies age, we produce less of the immune factors needed to maintain optimal health. Supplemental colostrum can help replenish these stores. ISO Sensation 93 also includes a glutamine complex. In these instances, glutamine supplementation can make a world of difference. Intense training causes muscle cell glutamine levels to decrease, allowing for muscle breakdown. Supplementation with L-glutamine causes an anti-catabolic effect by keeping these levels elevated, thus preserving muscle mass and improving nitrogen balance. Being easily-absorbed and bioavailable, peptide-bonded glutamine, N-acetyl L-glutamine and Glutapure enter muscle cells fast, break down to free glutamine, and perform essential metabolic functions. Optimizing insulin metabolism can support the muscle-building process. Our SI complex includes alpha-lipoic acid, d-pinitol and 4-hydroxyisoleucine. A greater uptake of blood sugar by muscles could lead to enhanced glycogen synthesis and ultimately greater lean muscle gains. In the end, they all favor better uptake of creatine, glucose and amino acids, and they enhance muscle recovery and growth without excess sugar consumption. Finally, our enhanced delivery system includes D complex: a blend of the digestive aids protease and lactase for superior digestibility, ensuring maximum absorption and utilization of the nutrients in this formula. These enzymes contribute to the health of the digestive tract and can increase the utilization of whey protein. Consume 1 to 4 servings per day depending on your protein requirements. For best results, consume 1 serving immediately after you workout. INGREDIENTS: IsoChill® Double Cold-Temperature Processed Cross-Flow FullSpectrum Premium Microfiltrated Whey Protein Isolate , Cocoa, Colostrum, Glutamine Complex Glutamine Peptides, Glutapure® Glutamine, N-Acetyl L-Glutamine , SI Complex Alpha Lipoic Acid, d-Pinitol, 4-Hydroxyisoleucine , D Complex Protease, Lactase , Natural and Artificial Flavors, Lactoferrin, Acesulfame Potassium, Sucralose and Soy Lecithin. Contains Milk, Soy and Wheat. Directions: Mix 1 scoop in 6 ounces 177 ml of cold water or non-fat milk. Consume 1 to 4 servings per day depending on your protein requirements. For best results, consume 1 serving immediately after you workout. Warnings: Contains milk, soy and wheat. Notice: Use this product as a food supplement only. Do not use for weight reduction.

 


Do trước đây iso 93 chưa từng dùng sp nào khác ngoài mass tăng cân nên cũng chả biết đường so sánh. For example, if compressed as one hex byte, '27x means there are 27 VAR bytes to follow. iso 93 This is an outstanding number 93%considering most WPIs contain 22-25 grams per 30 gram scoop 73-83%. Bác nào đã dùng sản phẩm này thì có thể review cho anh em với. Message origin Position four of the MTI defines the location of the message source within the payment chain. These products are not intended to diagnose, treat, cure, or prevent any disease. Bộ đôi Enzyme của Protease và Lactase giúp tối ưu hóa tiêu hóa. Bò sữa non có thể giúp giảm thời gian phục hồi trong khi tăng cường bảo vệ chống oxy hóa. However, a quality protein will assist in and aid muscle repair. They mix perfectly in a shaker bottle. Dual message system DMSawaits file exchange for posting to the account. Whey protein hydrolysate goes through a process where it becomes hydrolyzed, and is much easier for your body to digest.

0 Tovább

Excel what if analysis data table

How to Create a One-Variable Data Table in Excel 2010





※ Download: Excel what if analysis data table


Example There is a loan of 5,000,000 for a tenure of 30 years. Other types of what-if analysis For more advanced projects, you may want to consider the other types of what-if analysis: scenarios and data tables. One-variable Data Tables A one-variable Data Table can be used if you want to see how different values of one variable in one or more formulas will change the results of those formulas.


Instead of consisting of two columns, there should be one column containing the values for the first variable, with a row containing the values for the second variable. The second field, To value:, is the desired result. If you adjust the rate, periods or amount, the formula result changes, so you can see the effect of these different variables. Sometimes a formula depends on multiple inputs, and you'd like to see how different inputs values would impact the result.


Data Analysis [Part 2 of 5] – Two Variable Data Table in Excel - Any formula in a one-variable data table must refer to only one input cell. By To create a two-variable data table to perform what-if analysis in Excel 2010, you enter two ranges of possible input values for the same formula: a range of values for the Row Input Cell in the Data Table dialog box across the first row of the table and a range of values for the Column Input Cell in the dialog box down the first column of the table.


Two-variable data table is best suited in situations when you want to see how the final result changes when two of the input variables change simultaneously as against where only one of the input variable changes. If you want to analyze data when more than 2 variables change, is the way to go. When to use Two Variable Data Table in Excel Suppose you have a data set as shown below: In the above data set, we have the Loan Amount, Interest Rate, and Number of Monthly payments. Based on these 3 input variables, Monthly Payment is calculated it is in red as it is an outflow of money. In such a situation, a two variable data table should be used. In this example, we are testing for 72, 84, 96… 240. At the same time, have the different loan amount values in the row just above the column values beginning one cell to the right as shown in the pic below. This is a construct that needs to be followed when you work with two variable data table. Also, make sure that the value in cell D1 is dependent on both the variables Number of Monthly Payments and Loan amount. In this case, cell D1 refers to cell B4, which has a value calculated using a formula which uses cells B1, B2 and B3. As soon as you click OK, it instantly fills the all the empty cells in the selected data range. It quickly gives you a view of Monthly Payments for a various combinations of Loan amount and Number of Monthly Payments. You can however manually select all the values and delete it. Since this is an array, you will have to delete all the values.

 


The first field, Set cell:, will contain the desired result. And we can add some basic formatting borders and currency to make things look slightly better. Each copy of this formula in the data table uses the growth rate percentage in the same row in column B to determine the possible outcome. Excel creates the data table in the range C8:C17 by entering a formula using the TABLE function into this range. In this way, you can view what-if results without changing the original formula's references. You currently have a grade of 65, and you need at least a 70 to pass the class.

0 Tovább

protupbionan

blogavatar

Phasellus lacinia porta ante, a mollis risus et. ac varius odio. Nunc at est massa. Integer nis gravida libero dui, eget cursus erat iaculis ut. Proin a nisi bibendum, bibendum purus id, ultrices nisi.