SN's Oil Calculations (Standard) Add-in

 

For individuals as well as organizations, we have put up this COM add-in for MS Excel.  The user can develop their own spreadsheets utilising the functions from within their own projects without having to write any formulae. This will keep the file size small and give fast calculations. (See Calling .DLL Function vs. Visual Basic Worksheet Function) Further, you can access and call the functions in multiple projects at the same time.  However, a registered Dll has to be purchased for each machine it is being used on.  Select the level from Standard, Advanced, Premium or Universal according to your need.

Extract the zipped file to "C:\Cargocal".  Then  from the Start-Run button, register the add-in by typing   RegSvr32 "c\cargocal\SNsStdOil.dll".  Then from Excel, Tools-Addins, click on the 'Automation, button.  Select SNsStdOil.StdOilCalc from the list or use the Browse button to the Cargocal folder and select the add-in SNsStdOil.dll

The functions are -

Tab6a(API As Double, DegC as Double) As Double                           
Tab6b(API As Double, DegC as Double) As Double   
Tab24a(Density As Double, DegC as Double) As Double     
Tab24b(Density As Double, DegC as Double) As Double   
Tab54a(Density As Double, DegC as Double) As Double   
Tab54b(Density As Double, DegC as Double) As Double   
Tab54d(Density As Double, DegC as Double) As Double   
Dens15(Density As Double, DegC as Double, CF As Double, BaseTemp As Double) As Double    ' for chemicals
GetWCF(DegC As Double, TBL As String, APIDEN As Double) As Double
GETWCFVAC(DegC As Double, TBL As String, APIDEN As Double) As Double
CentiTOFar(CENTI As Double) As Double
FarTOCenti(FARA As Double) As Double
VCF(table As String, API As Double, DegC as Double) As Double       ' Tables are 6A/B, 24A/B, 54A/B/D, API is either API or Density   Example: =VCF(a1,b1,FarToCenti(c1)) returns 1.0047 where  A1="6A", B1=35, C1=50 (where temps MMC available in Deg F only)
DensFmAPI(API As Double) As Double    'use function APIDens instead.  It is better
Tables11(API As Double) As Double
Tables13(API As Double) As Double
API60F(API As Double, Optional CrudeProduct As Boolean = True) As Double
T56AirtoVac(Dens As Double) As Double
T56VacToAir(Dens As Double) As Double
BBLsToCBM(Dens15 As Double, Optional AD As String = "D") As Double  ' if Density leave blank, if Density, pass "A"
CBMtoBBLS(Dens15 As Double, Optional AD As String = "D") As Double    ' if Density leave blank, if Density, pass "A"
APIDens(APIorDens As Double, Optional AD As String = "A") As Double     ' if API  leave blank, if Density, pass "D"
GOVFmMT(MT As Double, Dens As Double, DegC As Double, Tables As String) As Double
GSVFmMT(MT As Double, Dens As Double, DegC As Double, Tables As String) As Double
MTFmLngTon(dblLongTon) As Double
LngTonFmMT(dblMT As Double) As Double 
DegToRad(CAngle As Double, Optional Prec As Integer = 8) As Double
RadToDeg(CRadians As Double, Optional Prec As Integer = 8) As Double  
MetresToFeet(CMetres As Double, Optional Prec As Integer = 3) As Double
FeetToMetres(CFeet As Double, Optional Prec As Integer = 3) As Double
FeetAsStr(CFeet As Double, Optional Prec As Integer = 2) As String
KmtoSMiles(Km As Double, Optional Prec As Integer = 3) As Double
SMilestoKm(StatueMiles As Double, Optional Prec As Integer = 3) As Double
KmtoNM(Km As Double, Optional Prec As Integer = 3) As Double
NMtoKm(NauticalMiles As Double, Optional Prec As Integer = 3) As Double
KgCmToBar(KgPerSqCm As Double, Optional Prec As Integer = 3) As Double
BarToKgCm(Bar As Double, Optional Prec As Integer = 3) As Double
Tdis95(VLR() As Variant) As String    ' for surveyors
ArrayStdDev(arr As Variant, Optional SampleStdDev As Boolean = True, Optional IgnoreEmpty As Boolean = True) As Double    ' for surveyors
VolOfHorCylTk(depth As Double, Diam As Double) As Double ' for surveyors
VolOfVerCylTk(ht As Double, Diam As Double) As Double    ' for surveyors
 

For sake of uniformity, temperature to be passed is in degrees Centigrade to all the functions and is automatically changed to Fahrenheit internally, if required.  (Unless either is allowed by the argument 'CF' as string).

ADDITIONAL FUNCTIONS

PREMIUM FUNCTIONS
Users may send their queries to         for any clarification.

This project has a limit of 100 calculations and / or prevents printing with the unregistered copy.  With 100 calculations, the user can test the usefulnessof this add-in substantially for a tank or two.  To get the registered version, click on the button below to purchase via secure transactions and send us by e-mail the file "licSNOilPCID.pvf" generated by the project.  You will find this file in 'C:\Cargocal\DllS.  We will send you the release code file by return e-mail.

 

Home