Novell® VBA Interoperability

Slides:



Advertisements
Similar presentations
Sep-05 Slide:1 VBA in Excel Walter Milner. Sep-05 Slide:2 VBA in Excel Introduction VBA = Visual Basic for Applications Enables end-user programming In.
Advertisements

1 VBA Introduction. Basic Components 2 VBA LANGUAGE OFFICE OBJECTS EXCEL OBJECTS ACCESS OBJECTS WORD OBJECTS OUTLOOK OBJECTS POWERPOINT OBJECTS.
Creating a User Form. A Better Interface Our programs can use input boxes for input and write on the spreadsheet page for output This works ok but is.
Excel and Visual Basic. Outline Data exchange between Excel and Visual Basic. Programming VB in Excel.
1 CA202 Spreadsheet Application Collaborating with Colleagues Lecture # 16 Dammam Community College.
Object Linking and Embedding Objective 6.02 Linking and Embedding.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
VBA for MS Excel Hamze Msheik. Open the Visual Basic Editor in Excel 2007 Click on the Microsoft Office button in the top left of the Excel window and.
VBA Programming Session #2. Things to Review  Variables  Procedures: Subs & Functions  If…Then  For…Next.
Using the Visual Basic Editor Visual Basic for Applications 1.
Chapter 12: Recording Macros Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
VBA & Excel Barry L. Nelson IEMS 465 Fall Quarter 2003.
Introduction to VBA. This is not Introduction to Excel We’re going to assume you have a basic level of familiarity with Excel If you don’t, or you need.
Introduction to VBA. What is VBA? VBA stands for Visual Basic for Applications. It is a programming language used exclusively by the Microsoft Office.
Using the Select Case Statement and the MsgBox Function (Unit 8)
Lab 9 – User Forms Design. User Forms What are user forms? –Known as dialog boxes –Major ways for getting user input An example of using user forms: Monthly.
Operations 343 Spreadsheet Modeling Week 15 Quiz Review Homework Review Course Review Lab session.
Intellicad Visual Basic Application Marian Kate Santos Programming Paradigm.
University of Toronto at Scarborough © Andria Hunter, Kersti Wain-Bantin CSCA01 VBA-3 1 Lecture Outline Variable Scope Calling another subprogram Programming.
Project 9 Using Visual Basic for Applications (VBA) to Customize and Automate Excel Jason C. H. Chen, Ph.D. Professor of Management Information Systems.
VBA (Visual Basic for Applications) What is Excel, just a spreadsheet? Time for Demos...
VBA for Excel. What is a spreadsheet? u An Excel spreadsheet is a set of worksheets  Each worksheets is made up of rows and columns of cells  Rows are.
Automating Tasks with Visual Basic. Introduction  When can’t find a readymade macro action that does the job you want, you can use Visual Basic code.
Introduction to Engineering Computing GEEN 1300 Lecture 7 15 June 2010 Review for midterm.
Ch 11: Userforms CP212 Winter Topics Designing User Forms o Controls Setting Properties o Tab Order o Testing Writing Event Handlers o Userform_Initialize.
1 Visual Basic for Applications (VBA) for Excel Prof. Yitzchak Rosenthal.
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
Copyright © 2008 Pearson Prentice Hall. All rights reserved. 1 Microsoft Office Excel Copyright © 2008 Pearson Prentice Hall. All rights reserved
Using the selection structure (Unit 7) Visual Basic for Applications.
CSE Introduction to Computing Concepts. Outline  What is an application program?  What is Excel?  Creating a Simple Workbook  Writing Formulas.
Visual Basic for Applications Macro Programming For Microsoft Office.
VBA Lab 2 I ns.Samia Al-blwi. Visual Basic Grammar Object: Visual Basic is an object-oriented language. This means that all the items in Excel are thought.
Working with option button, check box, and list box controls Visual Basic for Applications 13.
Date Variables Visual Basic for Applications 5. Objectives n In this tutorial, you will learn how to: n Reserve a Date variable n Use an assignment statement.
Chapter 9 Macros And Visual Basic For Applications.
Spreadsheet Models for Managers: Session 14 14/1 Copyright © Richard Brenner Spreadsheet Models for Managers Session 14 Using Macros II Function.
The Object Model. You can think of the contents of an Excel application as a hierarchy of collections of objects, manipulated by code Each object can.
ME 142 Engineering Computation I Using Subroutines Effectively.
Chapter 11: Introduction to VBA Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
Controls and Events. The Next Step In the first module, we discussed general problem solving In this module, we’ll apply what we learned, from specification.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Introduction to Excel VBA UNC Charlotte CPE/PDH Series December 17, 2009.
CompMathBSc, English 5 October 2006 Programming basics — continued  Arrays  Cycle Statements: Loops  Control Structures vs Conditions  Subs: Procedures.
ME 142 Engineering Computation I Using Subroutines Effectively.
A Macro to Exchange the Values of Arbitrary Cells.
1 CA202 Spreadsheet Application Automating Repetitive Tasks with Macros Lecture # 12 Dammam Community College.
Lecture 6 – Working with VBA Sub Procedures Dr Joanna Wyrobek 1.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Using Macros Lesson.
COMPREHENSIVE Excel Tutorial 12 Expanding Excel with Visual Basic for Applications.
VBA Excel Macro 1.Create a Macro: To create a macro in Excel VBA, Create a Macro: To create a macro in Excel VBA,Create a Macro: To create a macro.
Novell ® VBA Interoperability roundup Noel Power OpenOffice developer
1 Niklas Nebel Sun Microsystems NEW FEATURES IN CALC
Intellicad Visual Basic Application
Exploring Excel Chapter 7 Automating Repetitive Tasks: Macros and
VBA - Excel VBA is Visual Basic for Applications
VBA - Excel VBA is Visual Basic for Applications
Good Morning  Please be sure to take care of your belongings.
Working with files from earlier versions
VBA (Visual Basic for Applications) What is Excel, just a spreadsheet?
5. Using databases in VB.
Even More VBA IE 469 Spring 2017.
Microsoft Office Illustrated
Excel VBA Day 3 of 3 Tom Vorves.
Microsoft Excel 2003 Illustrated Complete
UserForm.
Exploring Microsoft Excel
Know Your Charts Unit 3 Excel.
Custom Forms with VBA in Excel In-Class Exercise #11
Workshop on Excel Dr P Sravan Kumar MBA PhD
Spreadsheet Models for Managers
Presentation transcript:

Novell® VBA Interoperability Noel Power

Introduction About Me Working/hacking Openoffice.org ~ 4 years working on VBA interoperability A Bit of History Started in response to customer demand Various people have stuck there hand in here and there Releases SUSE 10.1 ( first appearance ) SUSE SLED 10 ( first supported version ) Started VBA Interoperability incubator project http://vba.openoffice.org or http://wiki.services.openoffice.org/wiki/VBA

Why provide VBA Interoperability Argghh!! “We already have all of these spreadsheets what are we going to do with them” “we don't event understand how they work anymore” There is already a proprietary solution VBA Interoperability is the “sugar” to sweeten the migration path Why bother, you will never get 100% compatibility?

How does it work Changes to import filters to import the VBA macros (uncommented) stitch additional event bindings Changes to the basic engine compatibility options support additional “exotic” vba syntax Option VBASupport 1 Sub SelectToFromCells() Range("FromCell", "ToCell").Select End Sub Provides a compatibility model Supporting changes to calc core

Upstreaming Not enough hacks upstreamed yet Option VBASupport provides a basic indicator that interoperability is 'on' used a hook internally in the basic engine css::com::ArrayWrapper multi-dimensional array support for Objects influence the base of the Array regardless of the Module 'Option Base' setting Array(...) function & Option Base Support a 'default method' concept

VBA exotics set r1 = Range(“a1”) r1 = “foo” ' value of cell A1 is set to “foo” dim aVar as String ' or variant 'aVar wil contain “foo” aVar = r1 'Collections dSheets = Worksheets ' global wrb = dSheets(1) wrb = dSheets.Item(1) wrb = dSheets.("Sheet1") wrb = dSheets.Item("Sheet1")

What needs to be upstreamed Dim r1 as Range Set and assignment for vba objects Most vba constants are available ( maho ) Default properties { LHS & RHS } Global objects Application, Sheets... Compatibility API Range, Workbook, Worksheet... Better event support Excel toolbox controls, shapes, images, workbook, worksheet Larger basic module support

Whats Next Basic Support for Userforms & Controls tie Userform module to Dialog allow contols to be accessed from Worksheet Sheet(1).CommandButton1 Sheet(1).MyComboxBox.AddItem( ListItem ) Compatibile Array handling array of array syntax myarray(2)(3) copy by value Import internal Collection class handle string key in Item & add methods Generally Improve API coverage More document analysis

What can you do to help Get involved irc, #go-oo { me = noelp }, mail noel.power@novell.com http://wiki.services.openoffice.org/wiki/VBA Identify missing api & test existing api some basic tests at ooo-build/tests/macros Donate representative documents If you can't send documents, send code use test-msvba from the libgsf (see wiki) Code some compatibility api its easier than your think its a good introduction into openoffice hacking