Constante Valor DescripciónLas teclas de 0 a 9 son las mismas que sus equivalentes ASCII de 0 a 9:...

Post on 13-Apr-2020

5 views 0 download

Transcript of Constante Valor DescripciónLas teclas de 0 a 9 son las mismas que sus equivalentes ASCII de 0 a 9:...

Calendar(constantes)

Lassiguientesconstantessepuedenutilizarencualquiersitiodelcódigoenlugardelosvaloresreales:

Constante Valor DescripciónvbCalGreg 0 Indicaqueseutilizael

calendariogregoriano.vbCalHijri 1 Indicaqueseutilizael

calendarioHijri.

Constantesdeatributodearchivo

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstantes.

Constante Valor DescripciónNormal 0 Archivonormal.Noseestablecenatributos.ReadOnly 1 Archivodesólolectura.Elatributoesde

lectura/escritura.Hidden 2 Archivooculto.Elatributoesdelectura/escritura.System 4 Archivodesistema.Elatributoesde

lectura/escritura.Volume 8 Etiquetadevolumendelaunidaddedisco.El

atributoesdesólolectura.Directory 16 Carpetaodirectorio.Elatributoesdesólolectura.Archive 32 Elarchivocambiódesdelaúltimacopiade

seguridad.Elatributoesdelectura/escritura.Alias 64 Vínculoométodoabreviado.Elatributoesdesólo

lectura.Compressed 128 Archivocomprimido.Elatributoesdesólolectura.

Constantesdecarpetasespeciales

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstantes.

Constante Valor DescripciónWindowsFolder 0 LacarpetaWindowscontienearchivosinstalados

porelsistemaoperativoWindows.SystemFolder 1 Lacarpetadelsistemacontieneunidadesde

dispositivo,bibliotecasyfuentes.TemporaryFolder 2 LacarpetaTempseutilizaparaalmacenar

archivostemporales.SurutaseencuentraenlavariabledelentornoTMP.

Constantesdecolor

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbBlack 0x0 NegrovbRed 0xFF RojovbGreen 0xFF00 VerdevbYellow 0xFFFF AmarillovbBlue 0xFF0000 AzulvbMagenta 0xFF00FF MagentavbCyan 0xFFFF00 CiánvbWhite 0xFFFFFF Blanco

Constantesdecolordelsistema

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbScrollBars 0x80000000 Colordelabarrade

desplazamientovbDesktop 0x80000001 ColordelescritoriovbActiveTitleBar 0x80000002 Colordelabarradetítulo

delaventanaactivavbInactiveTitleBar 0x80000003 Colorofthetitlebarfor

theinactivewindowvbMenuBar 0x80000004 Colordelabarradetítulo

delaventanainactivavbWindowBackground 0x80000005 Colordelaventanade

fondovbWindowFrame 0x80000006 Colordelmarcodela

ventanavbMenuText 0x80000007 Colordeltextoenlos

menúsvbWindowText 0x80000008 Colordeltextoenlas

ventanasvbTitleBarText 0x80000009 Colordeltextoenel

título,cuadrocontroldetamañoyflechadedesplazamiento

vbActiveBorder 0x8000000A Colordelbordedelaventanaactiva

vbInactiveBorder 0x8000000B Colordelbordedelaventanainactiva

vbApplicationWorkspace 0x8000000C Colordefondodelasaplicacionesdeinterfazdedocumentosmúltiples(MDI)

vbHighlight 0x8000000D Colordefondodeloselementosseleccionadosenuncontrol

vbHighlightText 0x8000000E Colordeltextodeloselementosseleccionadosenuncontrol

vbButtonFace 0x8000000F Colordelsombreadoenlacaradelosbotonesdecomando

vbButtonShadow 0x80000010 Colordelsombreadoenelbordedelosbotonesdecomando

vbGrayText 0x80000011 Textoatenuado(desactivado)

vbButtonText 0x80000012 Colordeltextoenbotonespresionados

vbInactiveCaptionText 0x80000013 Colordeltextoenuntítuloinactivo

vb3DHighlight 0x80000014 Colorderesalteparaelementosmostradosen3D

vb3DDKShadow 0x80000015 Colordesombramás

oscuraparaelementosmostradosen3D

vb3DLight 0x80000016 Segundocolormásbrillanteen3Ddespuésdevb3Dhighlight

vbInfoText 0x80000017 ColordeltextoenlaInformaciónsobreherramientas

vbInfoBackground 0x80000018 ColordefondoenlaInformaciónsobreherramientas

Constantesdecomparación

LassiguientesconstantesestándefinidasenlabibliotecadetiposdeVisualBasicparaAplicacionesysepuedenutilizarencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbUseCompareOption -1 Realizaunacomparaciónusandola

configuracióndelainstrucciónOptionCompare.

vbBinaryCompare 0 Realizaunacomparaciónbinaria.vbTextCompare 1 Realizaunacomparacióntextual.vbDatabaseCompare 2 EnMicrosoftAccess(sóloWindows),

realizaunacomparaciónbasándoseenlainformacióncontenidaensubasededatos.

Constantesdecódigodeteclas

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbKeyLButton 0x1 Botónizquierdodelmouse(ratón)vbKeyRButton 0x2 Botónderechodelmouse(ratón)vbKeyCancel 0x3 TeclaCancelarvbKeyMButton 0x4 BotónizquierdodelmousevbKeyBack 0x8 TeclaRetrocesovbKeyTab 0x9 TeclaTabvbKeyClear 0xC TeclaSuprvbKeyReturn 0xD TeclaEntrarvbKeyShift 0x10 TeclaMayúsvbKeyControl 0x11 TeclaCtrlvbKeyMenu 0x12 TeclaMenúvbKeyPause 0x13 TeclaPausavbKeyCapital 0x14 TeclaBloqMayúsvbKeyEscape 0x1B TeclaEscvbKeySpace 0x20 TeclaBarraespaciadora

vbKeyPageUp 0x21 TeclaRePágvbKeyPageDown 0x22 TeclaAvPágvbKeyEnd 0x23 TeclaFinvbKeyHome 0x24 TeclaIniciovbKeyLeft 0x25 TeclaFlechaizquierdavbKeyUp 0x26 TeclaFlechaarribavbKeyRight 0x27 TeclaFlechaderechavbKeyDown 0x28 TeclaFlechaabajovbKeySelect 0x29 TeclaSeleccionarvbKeyPrint 0x2A TeclaImprPantvbKeyExecute 0x2B TeclaEjecutarvbKeySnapshot 0x2C TeclaImprPantvbKeyInsert 0x2D TeclaInsertvbKeyDelete 0x2E TeclaSuprvbKeyHelp 0x2F TeclaAyudavbKeyNumlock 0x90 TeclaBloqNum

LasteclasdeAaZsonlasmismasquesusequivalentesASCIIdeAaZ:

Constante Valor DescripciónvbKeyA 65 TeclaAvbKeyB 66 TeclaBvbKeyC 67 TeclaCvbKeyD 68 TeclaDvbKeyE 69 TeclaEvbKeyF 70 TeclaFvbKeyG 71 TeclaGvbKeyH 72 TeclaHvbKeyI 73 TeclaIvbKeyJ 74 TeclaJvbKeyK 75 TeclaKvbKeyL 76 TeclaL

vbKeyM 77 TeclaMvbKeyN 78 TeclaNvbKeyO 79 TeclaOvbKeyP 80 TeclaPvbKeyQ 81 TeclaQvbKeyR 82 TeclaRvbKeyS 83 TeclaSvbKeyT 84 TeclaTvbKeyU 85 TeclaUvbKeyV 86 TeclaVvbKeyW 87 TeclaWvbKeyX 88 TeclaXvbKeyY 89 TeclaYvbKeyZ 90 TeclaZ

Lasteclasde0a9sonlasmismasquesusequivalentesASCIIde0a9:

Constante Valor DescripciónvbKey0 48 Tecla0vbKey1 49 Tecla1vbKey2 50 Tecla2vbKey3 51 Tecla3vbKey4 52 Tecla4vbKey5 53 Tecla5vbKey6 54 Tecla6vbKey7 55 Tecla7vbKey8 56 Tecla8vbKey9 57 Tecla9

Lassiguientesconstantesrepresentanteclaseneltecladonumérico:

Constante Valor DescripciónvbKeyNumpad0 0x60 Tecla0vbKeyNumpad1 0x61 Tecla1vbKeyNumpad2 0x62 Tecla2vbKeyNumpad3 0x63 Tecla3vbKeyNumpad4 0x64 Tecla4vbKeyNumpad5 0x65 Tecla5vbKeyNumpad6 0x66 Tecla6vbKeyNumpad7 0x67 Tecla7vbKeyNumpad8 0x68 Tecla8vbKeyNumpad9 0x69 Tecla9vbKeyMultiply 0x6A TeclaSignode

multiplicación(*)vbKeyAdd 0x6B TeclaSignomás(+)vbKeySeparator 0x6C TeclaEntrarvbKeySubtract 0x6D TeclaSignomenos(–)vbKeyDecimal 0x6E TeclaPuntodecimal(,)vbKeyDivide 0x6F TeclaSignodedivisión(/)

Lassiguientesconstantesrepresentanteclasdefunción:

Constante Valor DescripciónvbKeyF1 0x70 TeclaF1vbKeyF2 0x71 TeclaF2vbKeyF3 0x72 TeclaF3vbKeyF4 0x73 TeclaF4vbKeyF5 0x74 TeclaF5vbKeyF6 0x75 TeclaF6vbKeyF7 0x76 TeclaF7vbKeyF8 0x77 TeclaF8vbKeyF9 0x78 TeclaF9

vbKeyF10 0x79 TeclaF10vbKeyF11 0x7A TeclaF11vbKeyF12 0x7B TeclaF12vbKeyF13 0x7C TeclaF13vbKeyF14 0x7D TeclaF14vbKeyF15 0x7E TeclaF15vbKeyF16 0x7F TeclaF16

Constantesdeentrada/salidadearchivo

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstantes.

Constante Valor DescripciónForReading 1 Abrirunarchivosóloparalectura.Nopuede

escribirenestearchivo.ForWriting 2 Abrirunarchivoparaescritura.Siexisteunarchivo

conelmismonombre,seescribesobresuanteriorcontenido.

ForAppending 8 Abrirunarchivoyescribirhastaelfinaldelarchivo.

Constantesdefecha

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Valoresdeargumento

Elargumentofirstdayofweektienelossiguientesvalores:

Constante Valor DescripciónvbUseSystem 0 UtilizaelvalordeAPI

NLS.VbSunday 1 Domingo(predeterminado)vbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Elargumentofirstdayofyeartienelossiguientesvalores:

Constante Valor Descripción

vbUseSystem 0 UtilizaelvalordeAPINLS.VbUseSystemDayOfWeek

0 Utilizaeldíadelasemanaespecificadoenlaconfiguracióndelsistemaparaelprimerdíadelasemana.

VbFirstJan1 1 Comienzaconlasemanadondeestáel1deenero(predeterminado)

vbFirstFourDays 2 Comienzaconlaprimerasemanadelañoquetengacuatrodíascomomínimo.

vbFirstFullWeek 3 Comienzaconlaprimerasemanacompletadelaño.

Valoresdevueltos

Constante Valor DescripciónvbSunday 1 DomingovbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Constantesdeformatodefecha

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstante.

Constante Valor DescripciónvbGeneralDate 0 Muestraunafechay/ohora.Paranúmerosreales,

muestraunafechayhora.Sinohaypartefraccionaria,sólomuestraunafecha.Sinohayparteentera,sólomuestralahora.Laconfiguracióndesusistemadeterminalapresentacióndefechayhora.

vbLongDate 1 Muestraunafechautilizandoelformatodefechalargoespecificadoenlaconfiguraciónregionaldesuequipo.

vbShortDate 2 Muestraunafechautilizandoelformatodefechacortoespecificadoenlaconfiguraciónregionaldesuequipo.

vbLongTime 3 Muestraunahorautilizandoelformatodefechalargoespecificadoenlaconfiguraciónregionaldesuequipo.

vbShortTime 4 Muestraunahorautilizandoelformatodehora

cortoespecificadoenlaconfiguraciónregionaldesuequipo.

Constantesdetipodeunidad

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstantes.

Constante Valor DescripciónUnknown 0 Eltipodeunidadnosepuededeterminar.Removable 1 Launidadtienemediosseparables.Estoincluye

todaslasunidadesdedisqueteymuchasotrasvariedadesdedispositivosdealmacenamiento.

Fixed 2 Launidadtienemediosfijos(noseparables).Estoincluyetodaslasunidadesdediscoduro,incluyendolasunidadesdediscoduroseparables.

Remote 3 Unidadesdered.Estoincluyeunidadescompartidasencualquierparteenunared.

CDROM 4 LaunidadesunCD-ROM.NosehacedistinciónentrelasunidadesdeCD-ROMdelecturayescrituraylasdesólolectura.

RAMDisk 5 LaunidadesunbloquedeMemoriadeAccesoAleatorio(RAM,RandomAccesMemory)enelequipolocalquesecomportacomounaunidaddedisco.

Constantesdelcompilador

VisualBasicparaAplicacionesdefineconstantesparausoexclusivoconladirectiva#If...Then...#Else.Estasconstantessonfuncionalmenteequivalentesalasconstantesdefinidasconladirectiva#If...Then...#Elseexceptoquesondealcanceglobal;esdecir,seaplicanatodoelproyecto.

Enplataformasdeprogramaciónde16bits,lasconstantesdelcompiladorsedefinendelasiguienteforma:

Constante Valor DescripciónWin16 True Indicaqueelentornodeprogramaciónesde16

bits.Win32 False Indicaqueelentornodeprogramaciónnoesde32

bits.

Enplataformasdeprogramaciónde32bits,lasconstantesdelcompiladorse

definendelasiguienteforma:

Constante Valor DescripciónVba6 True IndicaqueelentornodeprogramaciónesVisual

BasicparaAplicaciones,versión6.0.Vba6 False IndicaqueelentornodeprogramaciónesVisual

BasicparaAplicaciones,versión6.0.Win16 False Indicaqueelentornodeprogramaciónnoesde16

bits.Win32 True Indicaqueelentornodeprogramaciónesde32

bits.Mac False Indicaqueelentornodeprogramaciónnoes

Macintosh.Win16 False Indicaqueelentornodeprogramaciónnoesde16

bits.Win32 False IndicaqueelentornodeprogramaciónesWindows

de32bits.Mac True Indicaqueelentornodeprogramaciónes

Macintosh.

NotaPuestoqueesVisualBasicelqueproporcionaestasconstantes,nopuededefinirenningúnnivelsuspropiasconstantesquetenganestosmismosnombres.

Constantesdetripleestado

Estasconstantessóloestándisponiblescuandosuproyectotieneunareferenciaexplícitaalabibliotecadetiposapropiadaquecontengaestasdefinicionesdeconstantes.

Constante Valor DescripciónvbTrue –1 Verdadero.vbFalse 0 Falso.vbUseDefault –2 Utilizarvalorpredeterminado.

ConstantesdeVisualBasic

VisualBasicparaaplicacionesdefineconstantesparasimplificarlaprogramación.Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Calendar(constantes)

CallType(constantes)

Constantesdeatributosdearchivo

ConstantesdeCarpetasEspeciales

Constantesdecódigodeteclas

Constantesdecolor

Constantesdecolordelsistema

Constantesdecomparación

Constantesdeentrada/salidadearchivos

Constantesdefecha

Constantesdeformatodefecha

Constantesdeformulario

ConstantesdeTipoUnidad

ConstantesdeTripleEstado

ConstantesdeVisualBasic

Constantesdelcompilador

Dir,GetAttrySetAttr(constantes)

IMEStatus(constantes)

MsgBox(constantes)

Otrasconstantes

QueryClose(constantes)

Shell(constantes)

StrConv(constantes)

VarType(constantes)

Dir,GetAttrySetAttr(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbNormal 0 Normal(valor

predeterminadoparaDirySetAttr)

vbReadOnly 1 DesólolecturavbHidden 2 OcultovbSystem 4 ArchivodesistemavbVolume 8 EtiquetadevolumenvbDirectory 16 DirectorioocarpetavbArchive 32 Elarchivohacambiado

desdelaúltimacopiadeseguridad

vbAlias 64 EnMacintosh,elidentificadoresunalias

SólolasconstantesVbNormal,vbReadOnly,vbHiddenyvbAliasestándisponiblesparaMacintosh.

IMEStatus(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales.

Laconstantesparalaconfiguraciónregionaljaponesasonlassiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeOn 1 IMEactivadovbIMEModeOff 2 IMEdeactivadovbIMEModeDisable 3 IMEdeshabilitadovbIMEModeHiragana 4 ModoHiraganadeancho

completovbIMEModeKatakana 5 ModoKatakanadeancho

completovbIMEModeKatakanaHalf 6 ModoKatakanademitad

deanchovbIMEModeAlphaFull 7 ModoAlfanuméricode

anchocompletovbIMEModeAlpha 8 ModoAlfanuméricode

mitaddeancho

Losvaloresdeconstanteparalaconfiguraciónlocalcoreanasonlossiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeAlphaFull 7 ModoAlfanuméricode

anchocompletovbIMEModeAlpha 8 ModoAlfanuméricode

mitaddeanchovbIMEModeHangulFull 9 ModoHanguldeancho

completovbIMEModeHangul 10 ModoHanguldemitadde

ancho

Losvaloresdeconstanteparalaconfiguraciónregionalchinasonlossiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeOn 1 IMEactivadovbIMEModeOff 2 IMEdesactivado

MsgBox(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

ArgumentosdeMsgBox

Constante Valor DescripciónvbOKOnly 0 SóloelbotónAceptar

(predeterminado)vbOKCancel 1 LosbotonesAceptaryCancelarvbAbortRetryIgnore 2 LosbotonesAnular,Reintentare

IgnorarvbYesNoCancel 3 LosbotonesSí,NoyCancelar.VbYesNo 4 LosbotonesSíyNovbRetryCancel 5 LosbotonesReintentaryCancelarvbCritical 16 MensajecríticovbQuestion 32 ConsultadeadvertenciavbExclamation 48 MensajedeadvertenciavbInformation 64 MensajedeinformaciónvbDefaultButton1 0 Elprimerbotóneselpredeterminado

(predeterminado)

vbDefaultButton2 256 ElsegundobotóneselpredeterminadovbDefaultButton3 512 EltercerbotóneselpredeterminadovbDefaultButton4 768 ElcuartobotóneselpredeterminadovbApplicationModal 0 Cuadrodemensajesdeaplicación

modal(valorpredeterminado)vbSystemModal 4096 CuadrodemensajesmodaldelsistemavbMsgBoxHelpButton 16384 AgregaelbotónAyudaalcuadrode

mensajeVbMsgBoxSetForeground 65536 Especificalaventanadelcuadrode

mensajecomolaventanadeprimerplano

vbMsgBoxRight 524288 EltextosealineaaladerechavbMsgBoxRtlReading 1048576 Especificaqueeltextodebeaparecer

paraleerdederechaaizquierdaensistemashebreosyárabes

ValoresdevueltosporMsgBox

Constante Valor DescripciónvbOK 1 BotónAceptarpresionadovbCancel 2 BotónCancelar

presionadovbAbort 3 BotónAnularpresionadovbRetry 4 BotónReintentar

presionadovbIgnore 5 BotónIgnorarpresionadovbYes 6 BotónSípresionadovbNo 7 BotónNopresionado

Otras

constantes

LassiguientesconstantesestándefinidasenlabibliotecadetiposdeVisualBasicparaAplicacionesysepuedenutilizarencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Equivalente DescripciónvbCrLf Chr(13)+Chr(10) Combinaciónderetornodecarroy

avancedelíneavbCr Chr(13) CarácterderetornodecarrovbLf Chr(10) CarácterdeavancedelíneavbNewLine Chr(13)+Chr(10)o,

enMacintosh,Chr(13)

Carácterdeavancedelíneaespecíficodeplataforma;siemprequeseaválidoparalaplataformaactual

vbNullChar Chr(0) Carácterquetieneelvalor0vbNullString Cadenaconelvalor0 Noeslomismoqueunacadenade

longitudcero("");seutilizaparallamaraprocedimientosexternos

vbObjectError -2147221504 Losnúmerosdeerrordefinidosporelusuariodeberíansermayoresqueestevalor.Porejemplo:Err.RaiseNumber=vbObjectError+

1000

vbTab Chr(9) CarácterdetabuladorvbBack Chr(8) CarácterderetrocesovbFormFeed Chr(12) NoesútilenMicrosoftWindowsoen

MacintoshvbVerticalTab Chr(11) NoesútilenMicrosoftWindowsoen

Macintosh

QueryClose(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbFormControlMenu 0 ElusuarioeligeelcomandoCerrardel

menúControlenelformulario.vbFormCode 1 SeinvocalainstrucciónUnloaddesde

código.vbAppWindows 2 Estáterminandolasesiónactualdel

entornooperativoMicrosoftWindows.vbAppTaskManager 3 ElAdministradordetareasdeWindows

estácerrandolaaplicación.

Shell(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbHide 0 Laventanaseocultayelenfoquepasaa

laventanaoculta.VbNormalFocus 1 Laventanatieneelenfoqueyse

restauraasutamañoyposiciónoriginales.

VbMinimizedFocus 2 Laventanasemuestraenformadeiconoconelenfoque.

VbMaximizedFocus 3 Laventanasemaximizaconelenfoque.VbNormalNoFocus 4 Laventanaserestauraasutamañoy

posiciónmásrecientes.Laventanaactivaactualmentepermaneceactiva.

VbMinimizedNoFocus 6 Laventanasemuestraenformadeicono.Laventanaactivaactualmentepermaneceactiva.

EnMacintosh,vbNormalFocus,vbMinimizedFocusyvbMaximizedFocuscolocanlaaplicaciónenprimerplano;vbHide,vbNoFocus,

vbMinimizedFocuscolocanlaaplicaciónenelfondo.

StrConv(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbUpperCase 1 Conviertelacadenaenmayúsculas.vbLowerCase 2 Conviertelacadenaenminúsculas.vbProperCase 3 Poneenmayúsculalaprimeraletradecada

palabradelacadena.vbWide 4 Loscaracteresestrechos(unsolobyte)se

conviertenencaracteresanchos(dedoblebyte).SeaplicaaconfiguracionesregionalesdelLejanoOriente

vbNarrow 8 Loscaracteresanchos(dedoblebyte)seconviertenencaracteresestrechos(deunsolobyte).Seaplicaaconfiguraciones

regionalesdelLejanoOriente.vbKatakana 16 LoscaracteresHiraganadeunacadenase

conviertenencaracteresKatakana.SóloseaplicaenJapón.

vbHiragana 32 LoscaracteresKatakanadeunacadenaseconviertenencaracteresHiragana.SóloseaplicaenJapón.

vbUnicode 64 ConviertelacadenaaUnicodeutilizandolapáginadecódigospredeterminadadelsistema.(NodisponibleparaMacintosh.)

vbFromUnicode 128 ConviertelacadenadesdeUnicodealapáginadecódigospredeterminadadelsistema.(NodisponibleparaMacintosh.)

VarType(constantes)

Sepuedenutilizarlassiguientesconstantesencualquierlugardelcódigoenvezdelosvaloresreales:

Constante Valor DescripciónvbEmpty 0 Sininicializar(predeterminado)vbNull 1 NocontienedatosválidosvbInteger 2 IntegervbLong 3 EnterolargovbSingle 4 Númerodesignoflotantedeprecisión

simplevbDouble 5 NúmerodesignoflotantedeprecisióndoblevbCurrency 6 CurrencyvbDate 7 DatevbString 8 StringvbObject 9 ObjetovbError 10 ErrorvbBoolean 11 BooleanvbVariant 12 Variant(sóloseutilizaparamatricesde

variants)vbDataObject 13 ObjetodeaccesoadatosvbDecimal 14 DecimalvbByte 17 BytevbUserDefinedType 36 Variantsquecontienentiposdefinidosporel

usuariovbArray 8192 Matriz

#Const(Directiva)

SeutilizaparadefinirconstantesdecompilacióncondicionalparaVisualBasic.

Sintaxis

#Constconstante=expresión

Lasintaxisdeladirectivadecompilación#Constconstadelassiguientespartes:

Parte Descripciónconstante Serequiere;Variant(String).Nombredelaconstante;siguelas

convencionesestándardenombresdevariable.expresión Requerido.Literal,otraconstantedecompilacióncondicionalo

cualquiercombinaciónqueincluyaoperadoresaritméticosológicos,exceptoIs.

Comentarios

LasconstantesdecompilacióncondicionalsonsiempredetipoPrivateparaelmóduloenqueaparecen.NoesposiblecrearconstantesdecompilacióndetipoPublicconladirectiva#Const.LasconstantesdecompilacióndetipoPublicsolamentesepuedencreardesdelainterfazdeusuario.

Enexpresiónsolamentesepuedenutilizarconstantesdecompilacióncondicional(yliterales).ElusodeunaconstanteestándardefinidaconConstodeunaconstantenodefinidaproduciráunerror.Alainversa,lasconstantesdefinidasconlapalabraclave#Constsolamentesepuedenutilizarparacompilacióncondicional.

Lasconstantesdecompilacióncondicionalsiempreseevalúananiveldemóduloindependientementedesuubicaciónenelcódigo.

#If...Then...#Else(Directiva)

CompilacondicionalmentebloquesdecódigodeVisualBasicseleccionados.

Sintaxis

#IfexpresiónThen

instrucciones

[#ElseIfexpresión-nThen

[instrucciones_elseif]]

[#Else

[instrucciones_else]]

#EndIf

Lasintaxisdeladirectiva#If...Then...#Elseconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.Cualquierexpresión,formada

exclusivamenteporunaomásconstantesdecompilacióncondicional,literalesyoperadores,queseevalúacomoTrueoFalse.

instrucciones Requerido.LíneasdeprogramadeVisualBasicodirectivasdecompilaciónqueseevaluaránsisuexpresiónasociadadacomoresultadoTrue.

expresión-n Opcional.Cualquierexpresiónformadaexclusivamenteporunaomásconstantesdecompilacióncondicional,literalesyoperadores,queseevalúacomoTrueoFalse.

instrucciones_elseif Opcional.Unaomáslíneasdeprogramaodirectivasdecompilaciónqueseevalúansiexpresión-ndacomoresultadoTrue.

instrucciones_else Opcional.Unaomáslíneasdeprogramaodirectivasdecompilaciónqueseevalúansiningunaexpresiónoexpresión-nanteriordacomoresultadoTrue.

Comentarios

Elcomportamientodeladirectiva#If...Then...#ElseesanálogoaldelainstrucciónIf...Then...Else,exceptoenquenoexistelaformadeunaúnicalíneaparalasdirectivas#If,#Else,#ElseIfy#EndIf;esdecir,enlamismalíneadeunadeestasdirectivasnopuedeaparecerotrocódigo.Lacompilacióncondicionalseutilizahabitualmenteparacompilarelmismoprogramaenplataformasdistintas.Tambiénseutilizaparaevitarqueelcódigodedepuraciónaparezcaenlosarchivosejecutables.Elcódigoexcluidoduranteuna

compilacióncondicionalseomitecompletamenteenelarchivoejecutablefinal,demodoquenotieneningúnefectoeneltamañonienelrendimiento.

Independientementedelautilizacióndelasexpresiones,todasellasseevalúan.Portanto,todaslasconstantesutilizadasenlasexpresionessedebenhaberdefinido.LasconstantesnodefinidasseevalúancomoEmpty.

NotaLainstrucciónOptionComparenoafectaalasexpresionesdelasinstrucciones#Ify#ElseIf.LasexpresionesdelasdirectivasdecompilacióncondicionalsiempreseevalúanconOptionCompareText.

Activate,Deactivate(Eventos)

EleventoActivateseproducecuandounobjetopasaaserlaventanaactiva.EleventoDeactivateseproducecuandounobjetoyanoeslaventanaactiva.

Sintaxis

PrivateSubobjeto_Activate()

PrivateSubobjeto_Deactivate()

ElmarcadordeposiciónobjetorepresentaunaexpresióndeobjetoquequedacomoresultadounobjetoincluidoenlalistaSeaplicaa.

Comentarios

UnobjetopuedepasaraactivoutilizandoelmétodoShowencódigo.

EleventoActivatesepuedeproducirsólocuandounobjetoesvisible.UnUserFormcargadoconLoadnoesvisibleamenosqueutiliceelmétodoShow.

LoseventosActivateyDeactivateseproducensólocuandomueveelenfoquedentrodeunaaplicación.Moverelenfoqueaodesdeunobjetoenotraaplicaciónnoactivaningúnevento.

EleventoDeactivatenoseproducecuandodescargaunobjeto.

Initialize(Evento)

Seproducedespuésdequesecargaunobjeto,peroantesdequesemuestre.

Sintaxis

PrivateSubobject_Initialize()

ElmarcadordeposiciónobjetorepresentaunaexpresióndeobjetoquequedacomoresultadounobjetoincluidoenlalistaSeaplicaa.

Comentarios

EleventoInitializeseutilizanormalmenteparaprepararseautilizarunaaplicaciónounobjetoUserForm.Seasignanunosvaloresinicialesalasvariablesysepuedenmoverocambiareltamañodeloscontrolesparaadecuarlosalosdatosdeinicialización.

Resize(Evento)

SeproducecuandounobjetoUserFormsecambiadetamaño.

Sintaxis

PrivateSubUserForm_Resize()

Comentarios

UtiliceelprocedimientodeeventoResizeparamoverocambiareltamañode

controlescuandosecambiaeltamañodelobjetoUserFormprimario.Tambiénpuedeutilizaresteprocedimientodeeventoparavolveracalcularvariablesopropiedades.

Terminate(Evento)

SeproducecuandosequitandememoriatodaslasreferenciasaunainstanciadeunobjetoestableciendotodaslasvariablesquehacenreferenciaalobjetoaNothingocuandolaúltimareferenciaalobjetosaledelalcance.

Sintaxis

PrivateSubobjeto_Terminate()

Elmarcadordeposiciónobjetorepresentaunaexpresióndeobjetoquequeda

comoresultadounobjetoincluidoenlalistaSeaplicaa.

Comentarios

EleventoTerminateseproducedespuésdequesedescargaelobjeto.EleventoTerminatenoseactivasisequitandememorialasinstanciasdelUserFormolaclaseporquelaaplicaciónfinalizadeformaanormal.Porejemplo,silaaplicaciónllamaalainstrucciónEndantesdequitardememoriatodaslasinstanciasexistentesdelaclaseodelUserForm,eleventoTerminatenoseactivaparaesaclaseoUserForm.

Abs(Función)

Devuelveunvalordelmismotipoqueelquesepasócomoparámetroyqueespecificaelvalorabsolutodeunnúmero.

Sintaxis

Abs(número)

Elargumentonúmeropuedesercualquierexpresiónnuméricaválida.SinúmerocontieneNull,lafuncióndevolveráNull;siesunavariablenoinicializada,

devolverácero.

Comentarios

Elvalorabsolutodeunnúmeroessumagnitudsinsigno.Porejemplo,ABS(-1)yABS(1)devuelven1.

Array(Función)

Devuelveunavariantequecontieneunamatriz.

Sintaxis

Array(lista_argumentos)

Elargumentolista_argumentosrequeridoesunalistadevaloresdelimitadosporcomasqueseasignanaloselementosdelamatrizcontenidaeneltipoVariant.Sinoseespecificaningúnargumento,secreaunamatrizdelongitudcero.

Comentarios

Lanotaciónusadaparahacerreferenciaacualquierelementodeunamatrizconsisteenelnombredelavariableseguidoporunparéntesisquecontieneunnúmerodeíndiceparaelelementodeseado.Enelejemplosiguiente,laprimerainstruccióncreaunavariablellamadaAdetipoVariant.LasegundainstrucciónasignaunamatrizalavariableA.Laúltimainstrucciónasignaaotravariableelvalorcontenidoenelsegundoelementodelamatriz.

DimAAsVariant

A=Array(10,20,30)

B=A(2)

EllímiteinferiordeunamatrizcreadamediantelafunciónArraysedeterminaporellímiteinferiorespecificadoconlainstrucciónOptionBase,amenosqueArrayestéautorizadoconelnombredelabibliotecatipo(porejemploVBA.Array).Siseautorizaconelnombredelabibliotecatipo,ArraynoseveráafectadoporOptionBase.

NotaUnavariableVariantnodeclaradacomounamatrizpuedecontener,noobstante,unamatriz.UnavariableVariantpuedecontenerunamatrizdecualquiertipo,exceptocadenasdelongitudfijaytiposdefinidosporelusuario.AunqueunavariableVariantquecontieneunamatrizesconceptualmentediferentedeunamatrizcuyoselementossondetipoVariant,setieneaccesoaloselementosdelamatrizdelmismomodo.

Asc(Función)

DevuelveuntipoIntegerquerepresentaelcódigodecaráctercorrespondientealaprimeraletradeunacadena.

Sintaxis

Asc(cadena)

Elargumentoobligatoriocadenaesunaexpresióndecadenaválida.Sicadenanocontienecaracteres,seproduceunerrorentiempodeejecución.

Comentarios

Elintervalodelvalorderetornoesentre0y255ensistemasquenoseanDBCS,yentre–32768y32767ensistemasDBCS.

NotaLafunciónAscBseutilizaconbytesdedatoscontenidosenunacadena.Enlugardedevolverelcódigodecarácterparaelprimercarácter,AscBdevuelveelprimerbyte.LafunciónAscWsiempredevuelveelcódigodecarácterUnicodeenplataformasdondenoseadmiteUnicode,encuyocaso,elcomportamientoesidénticoaldelafunciónAsc.

NotaVisualBasicparaMacintoshnoescompatibleconcadenasUnicode.Portanto,AscW(n)nopuededevolvertodosloscaracteresUnicodeparanvaloresenelintervalode128–65,535,quesípuedeenelentornoWindows.Encambio,AscW(n)intentalamejorsoluciónparavaloresUnicodenmayoresde127.Portanto,nodeberíautilizarAscWenelentornoMacintosh.

Atn(Función)

DevuelveuntipoDoublequeespecificaelarcotangentedeunnúmero.

Sintaxis

Atn(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválida.

Comentarios

LafunciónAtntomalarazóndedosladosdeuntriángulorectángulo(número)ydevuelveelángulocorrespondienteenradianes.Larazóneslalongituddelladoopuestoalángulodivididaporlalongituddelladoadyacentealángulo.

Elángulodelresultadoes-pi/2api/2radianes.

Paraconvertirgradosenradianes,multipliquelosgradosporPI/180.Paraconvertirradianesengrados,multipliquelosradianespor180/pi.

NotaAtneslafuncióntrigonométricainversadeTan,quetomaunánguloysuargumentoydevuelvelarazóndedosladosdeuntriángulorectángulo.Noconfundaconlacotangente,queeselinversodelatangente(1/tangente).

Choose(Función)

Seleccionaydevuelveunvalordeunalistadeargumentos.

Sintaxis

Choose(índice,opción-1[,opción-2,...[,opción-n]])

LasintaxisdelafunciónChooseconstadelassiguientespartes:

Parte Descripcióníndice Requerido.Expresiónnuméricaocampoquedacomoresultadoun

valorentre1yelnúmerodeopcionesdisponibles.opción Requerido.ExpresióndeltipoVariantquecontieneunadelas

opcionesposibles.

Comentarios

LafunciónChoosedevuelveunvalordelalistadeopcionesdependiendodelvalordeíndice.Siíndicees1,lafunciónChoosedevolverálaprimeraopcióndelalista;siíndicees2,devolverálasegundayasísucesivamente.

PuedeutilizarlafunciónChooseparabuscarunvalorenunalistadeposibilidades.Porejemplo,siíndicedacomoresultado3yopción-1="uno",opción-2="dos"yopción-3="tres",lafunciónChoosedevuelve"tres".Estafuncionalidadesespecialmenteútilcuandoíndicerepresentaelvalorenungrupodeopción.

LafunciónChooseevalúatodaslasopcionesdelalista,aunquesólodevuelvauna.Porestarazón,debecomprobarquenoseproduciránefectosnodeseados.Porejemplo,siutilizalafunciónMsgBoxcomopartedeunaexpresiónentodaslasopciones,apareceráuncuadrodemensajeparacadaopciónenelmomentodeevaluarla,aunquelafunciónChoosesólovayaadevolverelvalordeunadeellas.

LafunciónChoosedevuelveNullsiíndiceesmenorque1omayorqueelnúmerodeopcionesdelalista.

Siíndicenoesunnúmeroentero,seredondearáalenteromáscercanoantesdesuevaluación.

Chr(Función)

DevuelveuntipoStringquecontieneelcarácterasociadoconelcódigodecarácterespecificado.

Sintaxis

Chr(códigocar)

ElargumentocódigocaresuntipoLongqueidentificaauncarácter.

Comentarios

Losnúmerosdel0al31sonlosmismosqueloscódigosASCIIestándarnoimprimibles.Porejemplo,Chr(10)devuelveuncarácterdeavancedelínea.Elintervalonormaldecódigocares0–255.Sinembargo,ensistemasDBCS,elintervalorealdecódigocaresde-32768a65535.

NotaLafunciónChrBseutilizacondatosdebyteincluidosenuntipoString.Enlugardedevolveruncarácter,quepuedeserdeunoodedosbytes,ChrBsiempredevuelveunúnicobyte.LafunciónChrWdevuelveuntipoStringquecontieneelcarácterUnicodeexceptoenplataformasdondenoseadmiteUnicode,encuyocaso,elcomportamientoesidénticoaldelafunciónChr.

NotaVisualBasicparaMacintoshnoadmitecadenasUnicode.Porlotanto,ChrW(n)nopuededevolvertodosloscaracteresUnicodeparanvaloresenelintervalo128–65,535,quesípuedeenelentornoWindows.Sinembargo,ChrW(n)intentalamejorsoluciónparavaloresnUnicodemayoresde127.Portanto,nodeberíausarChrWenelentornoMacintosh.

Command(Función)

DevuelvelapartedelargumentodelalíneadecomandoutililizadaparaejecutarMicrosoftVisualBasicounprogramaejecutabledesarrolladoconVisualBasic.LafunciónCommanddeVisualBasicnoestádisponibleenaplicacionesdeMicrosoftOffice.

Sintaxis

Command

Comentarios

CuandoVisualBasicesejecutadodesdelalíneadecomando,unapartedelalíneadecomandoquesiguea/cmdespasadaalprogramacomoelargumentodelalíneadecomando.Enelsiguienteejemplo,argslíneacomandorepresentalainformacióndelargumentodevueltoporlafunciónCommand.

VB/cmdargslíneacomando

ParaaplicacionesdesarrolladasconVisualBasicycompiladasparaobtenerunarchivo.exe,Commanddevuelveunosargumentosqueaparecendespuésdelnombredelaaplicaciónenlalíneadecomandos.Porejemplo:

MiAplargslíneacomando

Paraencontrarcómolosargumentosdelalíneadecomandopuedensercambiadosenlainterfazdeusuariodelaaplicaciónqueestáutilizando,busqueellaAyuda"argumentosdelalíneadecomandos."

Cos(Función)

DevuelveuntipoDoublequeespecificaelcosenodeunángulo.

Sintaxis

Cos(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválidaqueexpresaunánguloenradianes.

Comentarios

LafunciónCostomaunánguloydevuelvelarazóndedosladosdeuntriángulorectángulo.Larazóneslalongituddelladoadyacentealángulodivididaporlalongituddelahipotenusa.

Elresultadoestádentrodelintervalo-1a1.

Paraconvertirgradosenradianes,multipliquelosgradosporpi/180.Paraconvertirradianesengrados,multipliquelosradianespor180/pi.

CreateObject(Función)

CreaydevuelveunareferenciaaunobjetoActiveX.

Sintaxis

CreateObject(clase,[nombre_servidor])

LasintaxisdelafunciónCreateObjectcontienetrespartes:

Parte Descripciónclase Requerido;Variant(Cadena).Elnombredelaaplicaciónyde

laclasedelobjetoquesevaacrear.nombre_sevidor Opcional;Variant(Cadena).Elnombredelservidordered

dondesecrearáelobjeto.Sinombre_servidoresunacadenavacía(""),seutilizalamáquinalocal.

Elargumentoclaseutilizalasintaxisnombre_aplicación.tipo_objetoyconstadelassiguientespartes:

Parte DescripciónNombre_aplicación

Requerido;Variant(String).Elnombredelaaplicaciónqueproporcionaelobjeto.

tipo_objeto

Requerido;Variant(String).Eltipooclasedeobjetoquesevaacrear.

Comentarios

CadaaplicaciónqueadmiteAutomatizaciónproporcionaalmenosuntipodeobjeto.Porejemplo,unaaplicacióndeprocesadordetextospuedeproporcionarunobjetoApplication,unobjetoDocumentyunobjetoToolbar.

ParacrearunobjetoActiveX,asigneelobjetodevueltoporlafunciónCreateObjectaunavariabledeobjeto:

'Declareunavariabledeobjetoparacontenerlareferenciade

'objeto.DimAsObjectprovocaunenlaceentiempodeejecución.

DimExcelSheetAsObject

SetExcelSheet=CreateObject("Excel.Hoja")

Estecódigoinicialaaplicacióncreandoelobjeto(enestecaso,unahojadecálculodeMicrosoftExcel).Unavezcreadounobjeto,hagareferenciaaélenelcódigomediantelavariabledeobjetoquedefinió.Enelsiguienteejemplotieneaccesoalaspropiedadesylosmétodosdelnuevoobjetomediantelavariabledeobjeto,ExcelSheet,yotrosobjetosdeMicrosoftExcel,incluyendoelobjetoApplicationylacolecciónCells.

'HacevisibleExcelmedianteelobjetoApplication

ExcelSheet.Application.Visible=True

'Colocaalgúntextoenlaprimeraceldadelahoja

ExcelSheet.Application.Cells(1,1).Value="EstoeslacolumnaA,fila1"

'GuardalahojaeneldirectorioC:\test.xls

ExcelSheet.SaveAs"C:\TEST.XLS"

'CierraExcelconelmétodoQuitenelobjetoApplication

ExcelSheet.Application.Quit

'Liberalavariabledeobjeto.

SetExcelSheet=Nothing

AldeclararunavariabledeobjetoconlacláusulaAsObjectsecreaunavariablequepuedecontenerunareferenciaacualquiertipodeobjeto.Sinembargo,elaccesoalobjetomedianteestavariableesunenlaceentiempodeejecución,esdecir,elenlaceseproducecuandoseejecutaelprograma.Paracrearunavariabledeobjetoqueproduzcaunenlaceentiempodediseño(esdecir,queelenlaceseproduzcacuandosecompileelprograma),declarelavariabledeobjetoconundeterminadoId.declase.Porejemplo,puededeclararycrearlassiguientesreferenciasdeMicrosoftExcel:

DimxlAppAsExcel.Application

DimxlBookAsExcel.Workbook

DimxlSheetAsExcel.WorkSheet

SetxlApp=CreateObject("Excel.Application")

SetxlBook=xlApp.Workbooks.Add

SetxlSheet=xlBook.Worksheets(1)

Lareferenciamedianteunavariabledeenlaceentiempodediseñopuedeproporcionarmejorrendimiento,perosólopuedecontenerunareferenciaalaclaseespecificadaenladeclaración.

PuedetransferirunobjetodevueltoporlafunciónCreateObjectaunafunciónqueesperaunobjetocomoargumento.Porejemplo,elsiguientecódigocreaytransfiereunareferenciaalobjetoExcel.Application:

CallMiSub(CreateObject("Excel.Application"))

PuedecrearunobjetoencualquierPCremotoderedpasandoelnombrealargumentoservernamedeCreateObject.EsenombreeselmismoquelaparteMachineNamedeunnombrederecursocompartido:paraunnombrederecursocompartido"\\MiServidor\Público,"servernamees"MiServidor."

NotaConsulteladocumentacióndeCOM(veaMicrosoftDeveloperNetwork)paraobtenermásinformaciónacercadecómohacervisibleunaaplicaciónounPCremoto.Puedeagregarunaclavederegistroparasuaplicación.

ElcódigosiguientedevuelveelnúmerodeversióndeunainstanciadeExcelqueseejecutaenunPCremotollamadoMiServidor:

DimxlAppAsObject

SetxlApp=CreateObject("Excel.Application","MyServidor")

Debug.PrintxlApp.Version

Sielservidorremotonoexisteonoestádisponible,ocurriráunerrorentiempodeejecución.

NotaUtilicelafunciónCreateObjectcuandonohayaningunainstanciaactivadelobjeto.Siseestáejecutandounainstanciadelobjeto,seiniciaráunanueva

instanciaysecrearáunobjetodeltipoespecificado.Parautilizarlainstanciaactivaoparainiciarlaaplicaciónyquecargueunarchivo,utilicelafunciónGetObject.

Siunobjetoseharegistradoasímismocomounobjetodeinstanciaúnica,sólosecrearáunainstanciadelobjeto,sintenerencuentacuántasvecesseejecutalafunciónCreateObject.

CurDir(Función)

DevuelveuntipoVariant(String)querepresentalarutadeaccesoactual.

Sintaxis

CurDir[(unidad)]

Elargumentorequeridounidad,esunaexpresióndecadenaqueespecificaunaunidaddediscoexistente.Sinoseespecificalaunidaddediscooelargumentounidadesdelongitudcero(""),lafunciónCurDirdevuelvelarutadeaccesodelaunidaddediscoactual.EnMacintosh,CurDirignoracualquierunidadespecificadaysimplementedevuelvelarutadelaunidadactual.

CVErr(Función)

DevuelveuntipoVariantdeunsubtipoErrorquecontieneunnúmerodeerrorespecificadoporelusuario.

Sintaxis

CVErr(númeroerror)

Elargumentoobligatorionúmeroerrorescualquiernúmerodeerrorválido.

Comentarios

UtilicelafunciónCVErrparacrearerroresdefinidosporelusuarioenlosprocedimientoscreadosporelusuario.Porejemplo,sihacreadounafunciónqueaceptavariosargumentosynormalmentedevuelveunacadena,puedehacerquesufunciónevalúelosargumentosdeentradaparaasegurarsedequeestánenelintervaloadecuado.Sinoloestán,esprobablequesufunciónnodevuelvaelvalorderetornoqueesperaba.Enestecaso,CVErrlepermitedevolverunnúmerodeerrorqueleindicaráquéacciónrealizar.

NohayunaconversiónimplícitaenError.Porejemplo,nopuedeasignardirectamenteelvalorderetornodeCVErraunavariablequenoseaVariant.Sinembargo,puederealizarunaconversiónexplícita(utilizandoCInt,CDbl,etc…)delvalordevueltoporCVErryasignaraunavariabledeltipodedatoadecuado.

Date(Función)

DevuelveuntipoVariant(Date)quecontienelafechaactualdelsistema.

Sintaxis

Date

Comentarios

UtilicelainstrucciónDateparaestablecerlafechadelsistema.

ElcomportamientodeDate,ysielcalendarioesgregoriano,Date$,nocambiaporlaconfiguracióndelapropiedadCalendar.SielcalendarioesHijri,Date$devuelveunacadenade10caracteresdeltipomm-dd-yyyy,dondemm(01-12),dd(01-30)yyyyy(1400-1523)sonlosmeses,díasyañosHijri.Elintervalogregorianoequivalenteesdel1deenerode1980al31dediciembredel2099.

DateAdd(Función)

DevuelveunvalordetipoVariant(Date)conunafechaalaquesehaagregadounintervalodetiempoespecificado.

Sintaxis

DateAdd(intervalo,número,fecha)

LasintaxisdelafunciónDateAddconstadelossiguientesargumentosconnombre:

Parte Descripciónintervalo Requerido.Expresióndecadenaquecontieneelintervalode

tiempoquesedeseaagregar.número Requerido.Expresiónnuméricaconelnúmerodeintervalos

quesedeseaagregar.Puedeserpositiva(paraobtenerfechasfuturas)onegativa(paraobtenerfechaspasadas).

fecha Requerido.ValordetipoVariant(Date)oliteralquerepresentalafechaenlaqueseagregóelintervalo.

Valores

Elargumentointervalotienelossiguientesvalores:

Valor Descripciónyyyy Añoq Trimestrem Mesy Díadelañod Díaw Díadelasemanaww Semanah Horan Minutos Segundo

Comentarios

PuedeutilizarlafunciónDateAddparaagregarorestarunintervalodetiempoespecificadodeunafecha.Porejemplo,conDateAddpodríacalcularunafecha30díasposterioraldíadehoyounahora45minutosposterioralaactual.

Sideseaagregardíasafecha,puedeutilizarDíadelaño("y"),Día("d")oDíadelasemana("w").

LafunciónDateAddnodevuelvenuncaunafechanoválida.Enelejemplosiguienteseagregaunmesal31deenero:

DateAdd("m",1,"31-ene-95")

Enestecaso,DateAdddevuelve28-feb-95yno31-feb-95.Sifechaes31-ene-96,devolverá29-feb-96,yaque1996esunañobisiesto.

Silafechacalculadavaaresultarinferioralaño100(estoes,serestanmásañosquelosquehayenfecha),seproduceunerror.

SinúmeronoesunvalordetipoLongseredondearáalnúmeroenteromáscercanoantesdeserevaluado.

NotaElformatodelvalordevueltoporDateAddesdeterminadoporlaconfiguracióndelPaneldecontrol,noporelformatoquesepasaenelargumentofecha.

NotaParafecha,silaconfiguracióndelapropiedadCalendaresgregoriano,lafechaproporcionadadebesergregoriana.SielcalendarioesHijri,lafechaproporcionadadebeserHijri.Silosvaloresdemessonnombres,elnombredebeserconsistenteconlacofiguraciónactualdelapropiedadCalenda.ParaminimizarlaposibilidaddeconflictosdelosnombresdemesconlaconfiguraciónactualdeCalendar,introduzcavaloresdemesnuméricos(formatodefechacorta).

DateDiff(Función)

DevuelveunvalordetipoVariant(Long)queespecificaelnúmerodeintervalosdetiempoentredosfechasdeterminadas.

Sintaxis

DateDiff(intervalo,fecha1,fecha2[,primerdíasemana[,primerasemanaaño]])

LasintaxisdelafunciónDateDiffconstadelossiguientesargumentosconnombre:

Parte DescripciónIntervalo Requerido.Expresióndecadenaconelintervalode

tiempoutilizadoparacalcularladiferenciaentrefecha1yfecha2.

Fecha1,fecha2 Requerido;Variant(Date).Lasdosfechasquesevanautilizarenelcálculo.

Primerdíasemana Opcional.Constantequeespecificaelprimerdíadelasemana.Sinoseespecifica,seasumequeeseldomingo.

Primerasemanaaño Opcional.Constante,queespecificalaprimerasemanadelaño.Sinoseespecifica,seasumequeesaquéllaenlaqueseencuentreel1deenero.

Valores

Elargumentointervalotomalosvaloressiguientes:

Intervalo Descripciónyyyy Añoq Trimestrem Mesy Díadelañod Díaw Díadelasemanaww Semanah Horan Minutos Segundo

Elargumentoprimerdíasemanatomalossiguientesvalores:

Constante Valor DescripciónvbUseSystem 0 Utilicelaconfiguraciónde

laAPIdeNLS.vbSunday 1 Domingo

(predeterminado)vbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Constante Valor DescripciónvbUseSystem 0 Utilicelaconfiguraciónde

laAPIdeNLS.vbFirstJan1 1 Empiezaconlasemanaen

laqueseencuentrael1deenero(predeterminado).

vbFirstFourDays 2 Empiezaconlaprimerasemanaquetengaalmenoscuatrodíasenelnuevoaño.

vbFirstFullWeek 3 Empiezaconlaprimerasemanaqueestécompletamenteincluidaenelnuevoaño.

Comentarios

PuedeutilizarlafunciónDateDiffparadeterminarelnúmerodeintervalosespecificadosqueexistenentredosfechas.Porejemplo,conDateDiffpodríacalcularelnúmerodedíasentredosfechasoelnúmerodesemanasentrehoyyelfinaldelaño.

Sideseasaberelnúmerodedíasentrefecha1yfecha2,puedeutilizarDíadelaño("y")oDía("d").CuandointervaloesDíadelasemana("w"),DateDiffdevuelveelnúmerodesemanasentrelasdosfechas.Sifecha1eslunes,DateDiffcontaráelnúmerodeluneshastafecha2.Enlacuentaincluiráfecha2,peronofecha1.SiintervaloesSemana("ww"),lafunciónDateDiffdevolveráelnúmerodesemanasentrelasdosfechas.Enestecasocontaráelnúmerodedomingosentrefecha1yfecha2.DateDiffcontaráfecha2siesdomingo,peronofecha1,aunqueseadomingo.

Sifecha1serefiereaunmomentoposterioreneltiempoafecha2,lafunciónDateDiffdevolveráunnúmeronegativo.

Elargumentoprimerdíasemanaafectaaloscálculosqueutilizan"w"y"ww"comosímbolosdeintervalo.

Sifecha1ofecha2esunliteraldefecha,elaño,siseespecifica,pasaráaserunapartepermanentedelafecha.Sinembargo,sifecha1ofecha2estácomprendidaentrecomillasdobles("")yseomiteelaño,seinsertaráelañoencursoenelcódigocadavezqueseevalúelaexpresiónfecha1ofecha2.Asíesposibleescribircódigoquesepuedausarenañosdistintos.

Cuandocomparael31dediciembreconel1deenerodelañosiguiente,DateDiffparaunaño("yyyy")devolverá1aunquesólohayapasadoundía.

NotaParafecha1yfecha2,silaconfiguracióndelapropiedadCalendaresgregoriano,lafechaproporcionadadebesergregoriano.SielcalendarioesHijri,lafechaproporcionadadebeserHijri.

DatePart(Función)

DevuelveunvalordetipoVariant(Integer)quecontienelaparteespecificadadelafechadada.

Sintaxis

DatePart(intervalo,fecha[,primerdíasemana[,primerasemanaaño]])

LasintaxisdelafunciónDatePartconstadelossiguientesargumentosconnombre:

Parte Descripciónintervalo Requerido.Expresióndecadenaconelintervalode

tiempoquedeseadevolver.fecha Requerido.TipodevalorVariant(Date)quesedesea

evaluar.primerdíasemana Opcional.Unaconstantequeespecificaelprimerdía

delasemana.Sinoseespecifica,seasumequeeseldomingo.

primerasemanaaño Opcional.Unaconstantequeespecificalaprimerasemanadelaño.Sinoseespecifica,seasumequeesaquéllaenlaqueseencuentreel1deenero.

Valores

Elargumentointervalotomalossiguientesvalores:

Valor Descripciónyyyy Añoq Trimestrem Mesy Díadelañod Díaw Díadela

semanaww Semanah Horan Minutos Segundo

Elargumentoprimerdíasemanatomalossiguientesvalores:

Constante Valor DescripciónvbUseSystem 0 UtilizaelvalordelaAPIdeNLS.vbSunday 1 Domingo(predeterminado)vbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Elargumentoprimerasemanaañotomalossiguientesvalores:

Constante Valor DescripciónvbUseSystem 0 UtilizaelvalordelaAPI

deNLS.vbFirstJan1 1 Empiezaconlasemanaen

laqueseencuentrael1deenero(predeterminado).

vbFirstFourDays 2 Empiezaconlaprimerasemanaquetengaalmenoscuatrodíasenelnuevoaño.

vbFirstFullWeek 3 Empiezaconlaprimerasemanaqueestécompletamenteincluidaenelnuevoaño.

Comentarios

PuedeutilizarlafunciónDatePartparaevaluarunafechaydevolverunintervalodetiempoespecífico.Porejemplo,podríautilizarDatePartparacalculareldíadelasemanaolahoraactual.

Elargumentoprimerdíasemanaafectaaloscálculosqueutilizanlossímbolosdeintervalo"w"y"ww".

Sifechaesunliteraldefecha,elañoqueseespecifica,pasaráaserunapartepermanentedelafecha.Sinembargo,sifechaestáencerradaentrecomillasdobles("")yseomiteelaño,seinsertaráelañoencursoenelcódigocadavezqueseevalúelaexpresiónfecha.Asíesposibleescribircódigoquesepuedausarenañosdistintos.

NotaParafecha,silaconfiguracióndelapropiedadCalendaresgregoriano,lafechaproporcionadadebesergregoriano.SielcalendarioesHijri,lafechaproporcionadadebeserHijri.

Lapartedelafechadevueltaestáenunidadesdeperiododetiempodelactualcalendarioarábico.Porejemoplo,sielcalendarioactualesHijriylapartedelafechadevueltaeselaño,elvalordeañoesunañoHijri.

DateSerial(Función)

DevuelveuntipoVariant(Date)paraunaño,mesydíaespecificados.

Sintaxis

DateSerial(año,mes,día)

LasintaxisdelafunciónDateSerialconstadelossiguientesargumentosconnombre:

Parte Descripción

año Serequiere;Integer.Númeroentre100y9999,inclusiveounaexpresiónnumérica.

mes Serequiere;Integer.Cualquierexpresiónnumérica.día Serequiere;Integer.Cualquierexpresiónnumérica.

Comentarios

Paraespecificarunafecha,comoel31dediciembrede1991,elintervalodenúmerosparacadaargumentodeDateSerialdeberíaestarenelintervalonormalmenteaceptadoparalaunidad;esdecir,1–31paradíasy1–12parameses.Sinembargo,puedeespecificarfechasrelativasparacadaargumento,usandocualquierexpresiónnuméricaquerepresentealgúnnúmerodedías,mesesoaños,antesodespuésdeciertafecha.

Elejemplosiguienteusaexpresionesnuméricasenlugardenúmerosdefechaabsoluta.AquílafunciónDateSerialdevuelveunafechaqueeseldíaantesdelprimerdíadelmes(1-1),dosmesesantesdeagosto(8-2),10añosantesde1990(1990-10);enotraspalabras,el31demayode1980.

DateSerial(1990-10,8-2,1-1)

BajoWindows98yWindowsNT5,losañosdedosdígitosparaelargumentoañoseinterpretanbasadosenlaconfiguracióndelamáquinadefinidaporelusuario.Losvalorespredeterminadossonlosvaloresentre0y29,inclusive,seinterpretancomolosaños2000–2029.Losvalorespredeterminadosentre30y99,seinterpretancomolosaños1930–1999.Paraelrestodelosargumentosañoseusaunañoconloscuatrodígitos(porejemplo,1800).

VersionesmásrecientesdeWindowsinterpretanlosañosdedosdígitosbasadosenlosvalorespredeterminadosdescriotsanteriormente.Paraestarsegurodequelafuncióndevuelveelvalorapropiado,utiliceunañodecuatrodígitos.

Cuandounargumentonoestéincluidoenelintervaloaceptadonormalmenteparaél,seincrementahastalasiguienteunidadmayor,segúnconvenga.Porejemplo,siespecifica35días,seevalúacomounmesyalgunosdías,dependiendodelapartedelañodondeseaplique.Noobstante,siunsoloargumentoestáfueradesuintervalo-32.768a32.767osilafechaespecificadaporlostresargumentos,directamenteomedianteexpresión,noseincluyeenel

intervaloaceptabledefechas,seproduceunerror.

NotaParafecha,mesydía,silaconfiguracióndelapropiedadCalendaresgregoriano,lafechaproporcionadadebesergregoriano.SielcalendarioesHijri,lafechaproporcionadadebeserHijri.

Lapartedelafechadevueltaestáenunidadesdeperiododetiempodelactualcalendarioarábico.Porejemoplo,sielcalendarioactualesHijriylapartedelafechadevueltaeselaño,elvalordeañoesunañoHijri.Paraelaergumentoaño,losvaloresentre0y99,inclusive,seinterpretancomolosaños1400-1499.Paratodoslosvaloresaño,utiliceelañocompletodecuatrodígitos(porejemplo,1520).

DateValue(Función)

DevuelveuntipoVariant(Date).

Sintaxis

DateValue(fecha)

Elargumentofechaesnormalmenteunaexpresióndecadenaquerepresentaunafechadel1deenerodelaño100,al31dediciembrede9999.Sinembargo,fechatambiénpuedesercualquierexpresiónquepuedarepresentarunafecha,

unahoraounafechayunahoraeneseintervalo.

Comentarios

Sifechaesunacadenaqueincluyesolamentenúmerosseparadosporseparadoresdefecha,DateValuereconoceelordenparames,díayañodeacuerdoalformatodeFechaabreviadoquesehayaespecificadoparaelsistema.DateValuetambiénreconocefechasclaramentedefinidasquecontengannombresdemes,enformacompletaoabreviada.Porejemplo,ademásdereconocer30/12/1991y30/12/91,DateValuetambiénreconoce30dediciembrede1991ydic31,1991.

Siseomitelapartedeañodefecha,DateValueusaelañoactualdelafechadelsistemadesuPC.

Sielargumentofechaincluyeinformacióndehora,DateValuenoladevuelve.Sinembargo,sifechaincluyeinformacióndehoranoválida(talcomo"89:98"),ocurriráunerror.

NotaParafecha,silaconfiguracióndelapropiedadCalendaresgregoriano,lafechaproporcionadadebesergregoriano.SielcalendarioesHijri,lafechaproporcionadadebeserHijri.SilafechaproporcionadaesHijri,elargumentofechaesunaCadenaquerepresentaunafechadesde1/1/100(gregoriano,2deagostode718)a4/3/9666(gregoriano,31dediciembrede9999).

Day(Función)

DevuelveelvalordetipoVariant(Integer)queespecificaunnúmeroenteroentre1y31,inclusive,querepresentaeldíadelmes.

Sintaxis

Day(fecha)

ElargumentofechaescualquiervalordetipoVariant,expresiónnumérica,cadena,ocualquiercombinaciónquepuedarepresentarunafecha.SifechacontieneNull,lafuncióndevolveráNull.

NotaSilaconfiguracióndelapropiedadCalendaresgregoriano,elenterodevueltorepresentaeldíagregorianodelmesporelaergumentodefecha.SielcalendarioesHijri,elenterodevueltorepresentaeldíaHijridelmesporelargumentofecha.

DDB(Función)

DevuelveuntipoDoublequeindicaladepreciacióndeunbienduranteunperiododetiempoespecificadoutilizandoelmétododebalancededobledeclinaciónuotrométodoqueespecifique.

Sintaxis

DDB(cost,salvage,life,period[,factor])

LafunciónDDBconstadelossiguientesargumentosconnombre:

Parte Descripcióncost Requerido.UntipoDoublequeindicaelcostoinicialdelbien.salvage Requerido.UntipoDoublequeindicaelvalordelbienaltérmino

desuvidaútil.life Requerido.UntipoDoublequeindicaladuracióndelavidaútil

delbien.period Requerido.UntipoDoublequeindicaelperiodoparaelquese

calculaladepreciacióndelbien.factor Opcional.UntipoVariantqueindicalavelocidadalaquedeclina

elbalance.Siseomite,seasumeunvalor2(métododedeclinacióndoble).

Comentarios

Elmétododebalancededobledeclinacióncalculaladepreciaciónaunritmoacelerado.Ladepreciaciónesmayorenelprimerperiodoysereduceenlosperiodossucesivos.

Losargumentoslifeyperioddebenexpresarseenlasmismasunidades.Porejemplo,silifeseespecificaenmeses,periodtambiéndeberáindicarseenmeses.Todoslosargumentosdebensernúmerospositivos.

LafunciónDDButilizalafórmulasiguienteparacalcularladepreciaciónenunperiododado:

Depreciación/period=((cost–salvage)*factor)/life

Dir(Función)

DevuelveuntipoStringquerepresentaelnombredeunarchivo,directorioocarpetaquecoincideconelpatrónoatributodearchivoespecificado,olaetiquetadevolumendeunaunidaddedisco.

Sintaxis

Dir[(nombre_ruta[,atributos])]

LasintaxisdelafunciónDirconstadelassiguientespartes:

Parte Descripciónnombre_ruta Opcional.Expresióndecadenaqueespecificaunnombrede

archivo.Puedeincluireldirectorioocarpetaylaunidaddedisco.Sinoseencuentranombre_ruta,devolveráunacadenadelongitudcero("").

Atributos Opcional.Constanteoexpresiónnumérica,cuyasumaespecificalosatributosdearchivo.Siseomite,devuelvelosarchivosquecoincidenconnombre_rutaperonotieneatributos.

Valores

Losvaloresdelargumentoatributossonlossiguientes:

Constante Valor DescripciónvbNormal 0 (Predeterminado)Especificaarchivos

sinatributos.vbReadOnly 1 Especificaarchivosdesólolectura

ademásdesinatributos.vbHidden 2 Especificaarchivosocultosademásde

sinatributos.VbSystem 4 Especificaarchivosdesistemaademás

desinatributos.NoestádisponibleenMacintosh.

vbVolume 8 Especificalaetiquetadelvolumen;siseespecificacualquierotroatributo,seignoravbVolume.NoestádisponibleenMacintosh.

vbDirectory 16 Especificadirectoriosocarpetasademásdearchivossinatributos.

vbAlias 64 Especificaqueelnombredelarchivoesunalias.SóloestádisponibleenMacintosh.

NotaEstasconstantesestándefinidasenVisualBasicparaAplicaciones.Porello,susnombressepuedenutilizarencualquierlugardelcódigosustituyendoalvalorcorrespondiente.

Comentarios

LafunciónDir,enMicrosoftWindows,permiteelempleodeloscaracterescomodín'*'(múltiplescaracteres)y'?'(unsolocarácter)paraespecificarvariosarchivos.EnMacintosh,estoscaracteressontratadoscomocaracteresdenombredearchivoválidosynosepuedenutilizarcomocomodinesparaespecificarmúltiplesarchivo.

PuestoqueMacintoshnoadmiteloscomodines,utiliceeltipodearchivoparaidentificargruposdearchivos.PuedeutilizarlafunciónMacIDparaespecificareltipodearchivoenlugardeutilizarlosnombresdearchivo.Porejemplo,LasiguienteinstruccióndevuelveelnombredelprimerarchivodeTEXTOenlacarpetaactual:

Dir("AlgunaRuta",MacID("TEXT"))

Parapasarportodoslosarchivosdeunacarpeta,especifiqueunacadenavacía:

Dir("")

SiutilizalafunciónMacIDconDirenMicrosoftWindows,seproduceunerror.

Cualquiervalordeatributomayorde256esconsideradounvalorMacID.

LaprimeravezquesellamaalafunciónDirsedebeespecificarelnombre_ruta,delocontrarioseproduciráunerror.Siademásespecificalosatributosdearchivo,deberáincluirelnombre_ruta.

LafunciónDirdevuelveelprimernombredearchivoquecoincidecon

nombre_ruta.Paraobtenermásnombresdearchivoquecoincidanconnombre_ruta,deberávolverallamaralafunciónDirsinargumentos.Cuandonohaymásnombresdearchivocoincidentes,lafunciónDirdevuelveunacadenadecaracteresdelongitudcero.Cuandosedevuelveunacadenadelongitudcero,enlassiguientesllamadasdeberáespecificarnombre_rutaoseproduciráunerror.Puedecambiarnombre_rutasinhaberobtenidotodoslosnombresdearchivoquecoincidenconelargumentonombre_rutaactual.Sinembargo,nosepuedellamaralafunciónDirrecursivamente.LlamaralafunciónDirconelatributovbDirectorynodevuelvecontinuamentesubdirectorios.

SugerenciaDadoquelosnombresdearchivoseextraensinningúnordenespecífico,esconvenienteguardarlosnombresdevueltosenunamatrizyluegoordenarladelamaneradeseada.

DoEvents(Función)

Cedeelcontroldelaejecuciónalsistemaoperativo,paraqueéstepuedaprocesarotroseventos.

Sintaxis

DoEvents()

Comentarios

LafunciónDoEventsdevuelveuntipoIntegerquerepresentaelnúmerodeformulariosabiertosporunaversiónindependientedeVisualBasic,comoladeVisualBasicProfessionaledition.DoEventsdevuelve0enelrestodelasaplicaciones.

LafunciónDoEventspasaelcontrolalsistemaoperativo.Elcontrolnosedevuelvehastaqueelsistemaoperativohayaterminadodeprocesarloseventos

encolaysehayanenviadotodaslasteclasdelacolaSendKeys.

DoEventsesmásútilparatareassencillascomopermitirqueunusuariocanceleunprocesodespuésdequehacomenzado,porejemplounabúsquedadeunarchivo.Paraprocesosdeejecuciónlarga,esmejordarpreferenciaalprocesadorutilizandounTimerodelegandolatareaauncomponenteEXEdeActiveX.Enúltimocaso,latareapuedecontinuarcompletamenteindependientedelaaplicaciónyelsistemaoperativotieneencuentalamultitareaylosintervalosdetiempos.

AdvertenciaSiemprequedépreferenciaalprocesadortemporalmentedentrodeunprocedimientodeevento,asegúresedequeelprocedimientonoseejecutedenuevodesdeunapartediferentedelcódigoantesdequedevuelvalaprimerallamada.Estopodríacausarresultadosimpredecibles.Además,noutilicelafunciónDoEventssiexistelaposibilidaddequeotrasaplicacionesinteractúenconelprocedimiento,demaneraimprevista,duranteeltiempoenqueéstehacedidoelcontrol.

Environ(Función)

Devuelvelacadena(String)asociadaaunavariabledelentornodelsistemaoperativo.NoestádisponibleenMacintosh.

Sintaxis

Environ({envstring|number})

LasintaxisdelafunciónEnvironconstadelossiguientesargumentosconnombre:

Parte Descripciónenvstring Opcional.Expresióndecadenaquecontieneelnombre

deunavariabledeentorno.number Opcional.Expresiónnuméricacorrespondienteal

ordennuméricodelavariabledeentornoenlatabladecadenasdeentorno.Elargumentonumberpuedesercualquierexpresiónnumérica,peroseredondearáaunnúmeroenteroantesdeserevaluada.

Comentarios

Sinoseencuentraenvstringenlatabladecadenasdeentorno,lafuncióndevolveráunacadenadelongitudcero.Encasocontrario,lafunciónEnvirondevolveráeltextoasignadoalacadenaenvstringespecificada;estoes,eltextoquesiguealsignoigualenlatabladecadenasdeentornoparadichavariable.

Siespecificanumber,sedevolverálacadenaqueocupeesaposiciónnuméricaenlatabladecadenasdeentorno.Enestecaso,lafunciónEnvirondevolverátodoeltexto,incluidaenvstring.Sinohayningunacadenadeentornoenlaposiciónespecificada,lafunciónEnvirondevolveráunacadenadelongitudcero("").

EOF(Función)

DevuelveuntipoIntegerquecontieneunvalortipoBooleandeTruealllegaralfinaldelarchivo.

Sintaxis

EOF(númeroarchivo)

ElargumentonecesarionúmeroarchivoescualquiertipoIntegerquecontengacualquiernúmerodearchivoválido.

Comentarios

SeutilizaEOFparaevitarelerrorquesegeneraalintentarobtenerinformaciónmásalládelfinaldeunarchivo.

LafunciónEOFdevuelveFalsehastaquesehayallegadoalfinaldelarchivo.SiseusaconarchivosabiertosmedianteaccesoRandomoBinary,lafunciónEOFdevuelveFalsehastaquelaúltimainstrucciónGetquesehayaejecutadonopuedaleerelregistrocompleto.

ConarchivosabiertosconaccesoBinary,intentarleerelarchivousandolafunciónInputhastaqueEOFdevuelvaTrueproduceunerror.UselasfuncionesLOFyLocenlugardeEOFalleerarchivosbinariosconInputouseGetalutilizarlafunciónEOF.ConarchivosabiertoscomoOutput,EOFsiempredevuelveTrue.

Error(Función)

Devuelveelmensajedeerrorcorrespondienteaunnúmerodeerrordeterminado.

Sintaxis

Error[(númeroerror)]

Elargumentoopcionalnúmeroerrorpuedesercualquiernúmerodeerrorválido.Sinúmeroerroresunnúmerodeerrorválido,peronoestádefinido,Errordevolverálacadena“Errordefinidoporlaaplicaciónoporelobjeto".Si

númeroerrornoesválido,seproduciráunerror.Siseomitenúmeroerror,sedevolveráelmensajecorrespondientealúltimoerrorentiempodeejecución.Sinosehaproducidoningúnerrorentiempodeejecuciónosinúmeroerrores0,Errordevolveráunacadenadelongitudcero("").

Comentarios

ExaminelosvaloresdelaspropiedadesdelobjetoErrparaidentificarelúltimoerrorentiempodeejecución.ElvalordevueltoporlafunciónErrorcorrespondealapropiedadDescriptiondelobjetoErr.

Exp(Función)

DevuelveuntipoDoublequeespecificae(labasedeloslogaritmosnaturales)elevadoaunapotencia.

Sintaxis

Exp(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválida

Comentarios

Sielvalordenúmeroesmayorque709.782712893,seproduceunerror.Elvalordelaconstanteees2.718282aproximadamente.

NotaLafunciónExpcomplementalaaccióndelafunciónLogyavecessellamaantilogaritmo.

FileAttr(Función)

DevuelveuntipoLongquerepresentaelmododelarchivoparalosarchivosabiertosusandolainstrucciónOpen.

Sintaxis

FileAttr(filenumber,returntype)

LasintaxisdelafunciónFileAttrconstadelossiguientesargumentosconnombre:

Parte Descripciónfilenumber Serequiere;untipoInteger.Cualquiernúmerodearchivo

válido.returntype Serequiere;untipoInteger.Númeroqueindicaeltipode

informaciónquesedebedevolver.Especifique1paraquesedevuelvaunvalorqueindicaelmododelarchivo.Sóloensistemasde16bits,especifique2paraobteneruncontroladordearchivodelsistemaoperativo.returntype2noescompatibleensistemasde32bitsyproduceunerror.

Valoresdevueltos

Cuandoelargumentoreturntypees1,lossiguientesvaloresdevueltosindicanelmododeaccesoalarchivo:

Modo ValorInput 1Output 2Random 4Append 8Binary 32

FileDateTime(Función)

DevuelveunvalordetipoVariant(Date)queindicalafechayhoraenqueunarchivofuecreadoomodificadoporúltimavez.

Sintaxis

FileDateTime(nombre_ruta)

Elargumentorequeridonombre_rutaesunaexpresióndecadenaqueespecificaunnombredearchivo.Puedeincluireldirectorioocarpetaylaunidaddedisco.

FileLen(Función)

DevuelveuntipoLongqueespecificalalongituddeunarchivoenbytes.

Sintaxis

FileLen(nombre_ruta)

Elargumentonombre_rutarequeridoesunaexpresióndecadenaqueespecificaunnombredearchivo.Puedeincluireldirectorioocarpetaylaunidaddedisco.

Comentarios

SielarchivoespecificadoestáabiertocuandosellamalafunciónFileLen,elvalordevueltorepresentaelúltimotamañodeesearchivocuandoseguardóporultimavezeneldisco.

NotaParaobtenerlalongituddeunarchivoabierto,utilicelafunciónLOF.

Filter(Función)

Descripción

Devuelveunamatrizbasadaencerosquecontieneunsubconjuntodeunamatrizdecadenasbasadaenunoscriteriosdefiltroespecificados.

Sintaxis

Filter(sourcesrray,match[,include[,compare]])

LasintaxisdelafunciónFilterconstadelossiguientesargumentosconnombre:

Parte Descripciónsourcearray Requerido.Lamatrizdecadenasdeunadimensión

dondesebuscará.match Requerido.Cadenaquesevaabuscar.include Opcional.ValorBooleanqueindicasilafunción

cebedevolversubcadenasqueincluyanoexcluyanmatch.SiincludeesTrue,lafunciónFilterdevuelveelsubconjuntodelamatrizquecontienematchcomounasubcadena.SiincludeesFalse,lafunciónFilterdevuelveelsubconjuntodelamatrizquenocontienevalorcomounasubcadena.

compare Opcional.Elvalornuméricoqueindicalaclasedecomparacióndecadenasquesevaautilizar.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

Elargumentocomparepuedetenerlosvaloressiguientes:

Constante Valor DescripciónvbUseCompareOption –1 Realizarunacomparaciónutilizandoelvalor

delainstrucciónOptionCompare.vbBinaryCompare 0 Realizarunacomparaciónbinaria.vbTextCompare 1 Realizarunacomparaciónbasadaeneltexto.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realizaruna

comparaciónbasadaeninformacióndesubasededatos.

Comentarios

Sinoseencuentrancoincidenciasdematchdentrodesourcearray,lafunciónFilterdevuelveunamatrizvacía.SeproduceunerrorsisourcearrayesNullonoesunamatrizdeunadimensión.

LamatrizdevueltaporlafunciónFiltersólocontieneelementossuficientesparacontenerelnúmerodeelementoscoincidentes.

Int,Fix(Funciones)

Devuelvelaparteenteradeunnúmero.

Sintaxis

Int(número)

Fix(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválida.

SinúmerocontieneNull,lafuncióndevolveráNull.

Comentarios

LasfuncionesIntyFixeliminanlafraccióndeunnúmeroydevuelvenelvalorenteroresultante.

LadiferenciaentreIntyFixesquesielnúmeroesnegativo,Intdevuelveelprimerenteronegativomenoroigualanúmero,mientrasqueFixdevuelveelprimerenteronegativomayoroigualanúmero.Porejemplo,Intconvierte-8.4en-9yFixconvierte-8.4a-8.

LafunciónFix(número)esequivalentea:

Sgn(número)*Int(Abs(número))

Format(Función)

DevuelveuntipoVariant(String)quecontieneunaexpresiónformateadadeacuerdoalasinstruccionescontenidasenunaexpresióndeformato.

Sintaxis

Format(expresión[,formato[,primerdíadesemana[,primerdíadeaño]]])

LasintaxisdelafunciónFormatconstadelassiguientespartes:

Parte Descripción

expresión Requerido.Cualquierexpresiónválida.formato Opcional.Unaexpresióndeformatodefinidaporelusuario

oconnombreválida.primerdíadesemana Opcional.Unaconstantequeespecificaelprimerdíadela

semana.primerdíadeaño Opcional.Unaconstantequeespecificalaprimerasemana

delaño.

Valores

Elargumentoprimerdíadesemanatieneestosvalores:

Constante Valor DescripciónvbUseSystem 0 UtilizaelvalordeAPINLS.vbSunday 1 Domingo(predeterminado)vbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Elargumentoprimerdíadeañotieneestosvalores:

Constante Valor DescripciónvbUseSystem 0 UtilizaelvalordeAPINLS.vbFirstJan1 1 Comienzaconlasemanadondeestáel1de

enero(predeterminado).vbFirstFourDays 2 Comienzaconlaprimerasemanadelañoque

tengacuatrodíascomomínimo.vbFirstFullWeek 3 Comienzaconlaprimerasemanacompletadel

año.

Comentarios

Paradarformato HagaestoNúmeros Utiliceformatosnuméricosconnombrepredefinidoso

creeformatosnuméricosdefinidosporelusuario.Fechasyhoras Utiliceformatosdefecha/horaconnombrepredefinidoso

creeformatosdefecha/horadefinidosporelusuario.Númerosserialesdefechayhora

Utiliceformatosdefechayhoraoformatosnuméricos.

Cadenas Creesuspropiosformatosdecadenadefinidosporelusuario.

Siintentadarformatoaunnúmerosinespecificarformato,FormatproporcionaunafuncionalidadsimilaraladelafunciónStr.Sinembargo,losnúmerospositivosalosqueseleshadadoformatodecadenadecaracteresmedianteFormatcarecendelespacioinicialreservadoparamostrarelsignodelvalor,mientrasquelosconvertidosutilizandoStrconservanelespacioinicial.

Siestádandoformatoaunacadenanuméricanolocalizada,deberíausarunformatonuméricodefinidoporelusuarioparaasegurarsedequeobtienelaaparienciaquedesa.

NotaSilaconfiguracióndelapropiedadCalendaresgregorianoyformatoespecificadarformatoalafecha,laexpresiónproporcionadadebesergregoriana.SilaconfiguracióndelapropiedadCalendardeVisualBasicesHijri,laexpresiónproporcionadadebeserHijri.

Sielcalendarioesgregoriano,elsignificadodelossimbolosdelaexpresiónformatonocambia.SielcalendarioesHijri,todoslossímbolosdeformatodefecha(porejemplo,dddd,mmmm,yyyy)ytienenelmismosignificadoperoseaplicaalcalendarioHijri.Lossímbolosdeformatopermaneceneninglés,lossímbolosquesemuestrancomotexto(porejemplo,AMyPM)muestranlacadena(inglésoárabe)asociadaconesesímbolo.ElintervalodeciertossímboloscambiacuandoelcalendarioesHijri.

Símbolo Intervalo

d 1-30dd 1-30ww 1-51mmm Muestranombresdemesenteros(los

nombresdemesHijrinotienenabreviaturas).

y 1-355yyyy 100-9666

FormatCurrency(Función)

Descripción

Devuelveunaexpresiónformateadacomounvalordemonedautilizandoelsímbolodemonedadefinidoenelpaneldecontroldelsistema.

Sintaxis

FormatCurrency(expresión[,numDígitosDespuésDeDecimal[,incluirDígitoInicial[,utilizarParéntesisParaNúmerosNegativos[,agruparDígitos]]]])

LasintaxisdelafunciónFormatCurrencyconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.Laexpresiónquese

formateará.numDígitosDespuésDeDecimal Opcional.Unvalornuméricoque

indicacuántosespaciossemuestranaladerechadeldecimal.Elvalorpredeterminadoes–1,queindicaqueseutilizalaconfiguraciónregionaldelequipo.

incluirDígitoInicial Opcional.Constantedetripleestadoqueindicasisemuestraunceroinicialparavaloresfraccionarios.VealasecciónValoresparaconsultarlosvaloresposibles.

utilizarParéntesisParaNúmerosNegativos Opcional.Constantedetripleestadoqueindicasilosvaloresnegativossesitúandentrodeparéntesis.VealasecciónValoresparaconsultarlosvaloresposibles.

agruparDígitos Opcional.Constantedetripleestadoqueindicasiseagrupanlosnúmerosutilizandoeldelimitadordegruposespecificadoenlaconfiguraciónregionaldelequipo.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

LosargumentosincluirDígitoInicial,utilizarParéntesisParaNúmerosNegativosyagruparDígitospuedentenerlosvaloressiguientes:

Constante Valor DescripciónvbTrue –1 Verdadero.VbFalse 0 Falso.vbUseDefault –2 Utilizarlosvaloresdelaconfiguración

regionaldelequipo.

Comentarios

Cuandoseomitanunoomásargumentosopcionales,laconfiguraciónregionaldelequipoproporcionalosvaloresparalosargumentosomitidos.

Laconfiguraciónregionaldelsistemadeterminalaposicióndelsímbolomoneda

relativoalvalormoneda.

NotaTodalainformaciónparalosvaloresprovienedelafichaMonedadelaconfiguraciónregional,exceptoelceroinicialqueprovienedelafichaNúmero.

FormatDateTime(Función)

Descripción

Devuelveunaexpresiónformateadacomounafechaounahora.

Sintaxis

FormatDateTime(fecha[,formatoConNombre])

LasintaxisdelafunciónFormatDateTimeconstadelassiguientespartes:

Parte Descripciónfecha Requerido.Laexpresióndefechaqueseformateará.formatoConNombre Opcional.Unvalornuméricoqueindicaelformatode

fechayhorautilizado.Siseomite,seutilizavbGeneralDate.

Valores

ElargumentoformatoConNombretienelossiguientesvalores:

Constante Valor DescripciónvbGeneralDate 0 Mostrarunafechay/uhora.Sihayunaparte

conlafecha,semuestracomofechacorta.Sihayunaparteconlahora,semuestracomounahoralarga.Siestánpresentes,semuestranlasdospartes.

vbLongDate 1 Mostrarunafechautilizandoelformatodefechalargaespecificadoenlaconfiguraciónregionaldesuequipo.

vbShortDate 2 Mostrarunafechautilizandoelformatodefechacortaespecificadoenlaconfiguraciónregionaldesuequipo.

vbLongTime 3 Mostrarunahorautilizandoelformatodehoraespecificadoenlaconfiguraciónregionaldesuequipo.

vbShortTime 4 Mostrarunahorautilizandoelformatode24horas(hh:mm).

FormatNumber(Función)

Descripción

Devuelveunaexpresiónformateadacomounnúmero.

Sintaxis

FormatNumber(expresión[,numDígitosDespuésDeDecimal[,incluirDígitoInicial[,utilizarParéntesisParaNúmerosNegativos[,agruparDígitos]]]])

LasintaxisdelafunciónFormatNumberconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.Laexpresiónquese

formateará.numDígitosDespuésDeDecimal Opcional.Unvalornúmericoque

indicacuántoslugaressemuestranaladerechadeldecimal.Elvalorpredeterminadoes–1,queindicaqueseutilizalaconfiguraciónregionaldelequipo.

incluirDígitoInicial Opcional.Unaconstantedetriple

estadoqueindicasisemuestraunceroinicialparalosvaloresfraccionarios.VealasecciónValoresparaconsultarlosvaloresposibles.

utilizarParéntesisParaNúmerosNegativos Opcional.Unaconstantedetripleestadoqueindicasilosvaloresnegativossesitúandentrodeparéntesis.VealasecciónValoresparaconsultarlosvaloresposibles.

agruparDígitos Opcional.Unaconstantedetripleestadoqueindicasiseagrupanlosnúmerosutilizandoeldelimitadordegruposespecificadoenlaconfiguraciónregionaldelequipo.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

LosargumentosincluirDígitoInicial,utilizarParéntesisParaNúmerosNegativosyagruparDígitostienenlosvaloressiguientes:

Constante Valor DescripciónvbTrue –1 Verdadero.vbFalse 0 Falso.vbUseDefault –2 Utilizarlosvaloresdelaconfiguración

regionaldelequipo.

Comentarios

Cuandoseomitenunoomásargumentosopcionales,laconfiguraciónregionaldelequipoproporcionalosvaloresparalosargumentosomitidos.

NotaTodalainformacióndeconfiguraciónprovienedelafichaNúmerodelaconfiguraciónregional.

FormatPercent(Función)

Descripción

Devuelveunaexpresiónformateadacomounporcentaje(multiplicadopor100)conuncarácter%final.

Sintaxis

FormatPercent(expresión[,numDigitosDespuésDeDecimal[,incluirDígitoInicial[,utilizarParéntesisParaNúmerosNegativos[,agruparDígitos]]]])

LasintaxisdelafunciónFormatPercentconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.Laexpresiónquese

formateará.numDígitosDespuésDeDecimal Opcional.Unvalornuméricoqueindica

cuántoslugaressemuestranaladerechadeldecimal.Elvalorpredeterminadoes–1,queindicaqueseutilizalaconfiguraciónregionaldelequipo.

incluirDígitoInicial Opcional.Unaconstantedetripleestado

queindicasisemuestraunceroinicialparalosvaloresfraccionarios.VealasecciónValoresparaconsultarlosvaloresposibles.

utilizarParensParaNúmerosNegativos Opcional.Unaconstantedetripleestadoqueindicasilosvaloresnegativossesitúanentreparéntesis.VealasecciónValoresparaconsultarlosvaloresposibles.

agruparDígitos Opcional.Unaconstantedetripleestadoqueindicasilosnúmerosseagrupanutilizandoeldelimitadordegruposespecificadoenlaconfiguraciónregionaldelequipo.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

LosargumentosincluirDígitoInicial,utilizarParéntesisParaNúmerosNegativosyagruparDígitostienenlosvaloressiguientes:

Constante Valor DescripciónvbTrue –1 Verdadero.vbFalse 0 Falso.vbUseDefault –2 Utilizarlosvaloresdelaconfiguración

regionaldelequipo.

Comentarios

Cuandoseomitenunoomásargumentosopcionales,laconfiguraciónregionaldelequipoproporcionalosvaloresparalosargumentosomitidos.

NotaTodalainformacióndeconfiguraciónprovienedelafichaNúmerodelaconfiguraciónregional.

FreeFile(Función)

DevuelveuntipoIntegerqueindicaelsiguientenúmerodearchivodisponibleparasuusoenlainstrucciónOpen.

Sintaxis

FreeFile[(númerointervalo)]

ElargumentoopcionalnúmerointervaloesuntipoVariantqueespecificaelintervalodesdeelquesevaadevolverelsiguientenúmerodearchivo.Se

especifica0(predeterminado)paradevolverunnúmerodearchivoentre1y255,inclusive.Seespecifica1paradevolverunnúmerodearchivoentre256y511.

Comentarios

UseFreeFileparaproporcionarunnúmerodearchivoquenoestéenuso.

FV(Función)

DevuelveuntipoDoublequeindicaelvalorfuturodeunaanualidadbasándoseenpagosperiódicosyconstantesyuntipodeinteréstambiénconstante.

Sintaxis

FV(rate,nper,pmt[,pv[,type]])

LafunciónFVconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinterés

porperiodo.Porejemplo,siobtieneuncréditoparaunautomóvilaunporcentajeanual(TPA)del10porcientoyrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

nper Requerido.UntipoIntegerqueindicaelnúmerototaldeperiodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

pmt Requerido.UntipoDoublequeindicaelpagoquehayquerealizarcadaperiodo.Normalmente,lospagoscontienenunnominalyuninterésquenovaríaalolargodelavidadelaanualidad.

pv Opcional.UntipoVariantqueindicaelvaloractual(osumaglobal)quetieneenestemomentounaseriedepagospararealizarenelfuturo.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comopor

ejemplolahipotecadeuninmueble)ounainversión(comounplandeahorromensual).

Losargumentosrateynperdebencalcularseutilizandoperiodosdepagoexpresadosenlasmismasunidades.Porejemplo,siratesecalculaenmeses,npertambiéndebecalcularseenmeses.

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

Funcionesdeconversióndetipos

Cadafunciónconvierteunaexpresiónauntipodedatosespecífico.

Sintaxis

CBool(expresión)

CByte(expresión)

CCur(expresión)

CDate(expresión)

CDbl(expresión)

CDec(expresión)

CInt(expresión)

CLng(expresión)

CSng(expresión)

CStr(expresión)

CVar(expresión)

Elargumentoobligatorioexpresiónescualquierexpresióndecadenaoexpresiónnumérica.

Tiposdevueltos

Elnombredelafuncióndeterminaeltipodevuelto,comosemuestraacontinuación:

Función Tipodevuelto IntervalodelargumentoexpresiónCBool Boolean Cualquierexpresióndecadenaonumérica

válida.CByte Byte 0a255.CCur Currency -922.337.203.685.477,5808a

922.337.203.685.477,5807.CDate Date Cualquierexpresióndefecha.CDbl Double -1.79769313486231E308a

-4,94065645841247E-324paravaloresnegativos;4,94065645841247E-324a1,79769313486232E308paravalorespositivos.

CDec Decimal +/-79.228.162.514.264.337.593.543.950.335paranúmerosbasadosencero,esdecir,númerossindecimales.Paranúmeroscon28decimales,elintervaloes+/-7,9228162514264337593543950335.Lamenorposiciónparaunnúmeroquenoseaceroes0,0000000000000000000000000001.

CInt Integer -32.768a32.767;lasfraccionesseredondean.

CLng Long -2.147.483.648a2.147.483.647;lasfraccionesseredondean.

CSng Single -3,402823E38a-1,401298E-45paravaloresnegativos;1,401298E-45a3,402823E38paravalorespositivos.

CStr String ElmismointervaloqueDoubleparavalores

numéricos.ElmismointervaloqueStringparavaloresnonuméricos.

CVar Variant ElvalorderetornodeCStrdependedelargumentoexpresión.

Comentarios

Silaexpresióndelargumentoexpresiónquesepasaalafunciónestáfueradelintervalodeltipodedatoalquesevaaconvertir,seproduceunerror.

Engeneral,elcódigosepuededocumentarutilizandolasfuncionesdeconversióndetiposdedatosparaindicarqueelresultadodealgunadelasoperacionessedeberíaexpresarcomountipodedatosenparticular,nocomoeltipodedatospredeterminado.Porejemplo,utiliceCcurparaforzarlaejecucióndeoperacionesconaritméticamonetariaenloscasosenlosqueseharíaconprecisiónsimple,dobleprecisiónoaritméticaentera.

DebeutilizarfuncionesdeconversióndetiposenlugardeValparaproporcionarconversionesquereconozcanlasvariantesinternacionales.Porejemplo,cuandoutilizaCCur,sereconocendiferentesseparadoresdecimales,diferentesseparadoresdemillaresyvariasopcionesmonetariasdependiendodelaconfiguraciónregionalestablecidaensuequipo.

Cuandolapartefraccionariaesexactamente0,5,CIntyCLngsiempreredondeanalnúmeroparmáscercano.Porejemplo,0,5redondeaa0,y1,5redondeaa2.CIntyCLngsediferenciandelasfuncionesFixyIntenquetruncan,enlugarderedondear,lapartefraccionariadeunnúmero.Además,FixyIntsiempredevuelvenunvalordelmismotipodelqueselepasa.

UtilicelafunciónIsDateparadeterminarsisepuedeconvertirdateaunafechaounahora.CDatereconoceliteralesdefechayliteralesdehoraademásdenúmeroscomprendidosdentrodelintervalodefechasaceptables.Alconvertirunnúmeroaunafecha,lapartenuméricaenteraseconvierteaunafecha.Cualquierpartefraccionariadelnúmeroseconviertealahoradeldía,comenzandoamedianoche.

CDatereconoceformatosdefechaqueseajustenalaconfiguraciónregionalde

susistema.Esposiblequenosedetermineelordencorrectodeldía,mesyañosiseproporcionaenunformatodiferentedelquereconocelaconfiguracióndefecha.Además,nosepuedereconocerunformatodefechalargosicontienelacadenadeldíadelasemana.

SeproporcionaunafunciónCVDateporcompatibilidadconversionesanterioresdeVisualBasic.LasintaxisdelafunciónCVDateesidénticaaladelafunciónCDate;sinembargo,CVDatedevuelveunVariantdesubtipoDateenlugardeltipoDatereal.PuestoqueahorahayuntipodedatointrínsecoDate,noesnecesarioCVDate.SepuedeobservarelmismoefectoalconvertirunaexpresiónaDateyasignarladespuésaunVariant.EstatécnicaescoherenteconlaconversióndetodoslosdemástiposintrínsecosasusequivalentessubtiposVariant.

NotaLafunciónCDecnodevuelveuntipodedatodiscreto;ensulugar,siempredevuelveunVariantconlosvaloresconvertidosaunsubtipoDecimal.

GetAllSettings(Función)

Devuelveunalistadeclavesysusvaloresrespectivos(originalmentecreadosconSaveSetting)apartirdelaentradadeunaaplicaciónenelregistrode

Windows.O(enMacintosh)informaciónenelarchivodeinicializacióndelaaplicación.

Sintaxis

GetAllSettings(appname,section)

LasintaxisdelafunciónGetAllSettingstienelossiguientesargumentosconnombre:

Parte Descripciónappname Obligatorio.Expresióndecadenaquecontieneelnombredela

aplicaciónoproyectoalqueseaplicalaclave.EnMacintosh,ésteeselnombredelarchivodeinicializaciónenlacarpetaPreferenciasenlacarpetadelSistema.

section Obligatorio.Expresióndetipocadenaquecontieneelnombredelaseccióncuyasclavessesolicitan.LafunciónGetAllSettingsdevuelveunvalordetipoVariantcuyocontenidoesunamatrizbidimensionalcontodaslasclavesdelasecciónespecificadaysusvalorescorrespondientes.

Comentarios

LafunciónGetAllSettingsdevuelveunvalorVariantnoinicializadosinoexistenappnameosection.

GetAttr(Función)

DevuelveuntipoIntegerquerepresentalosatributosdeunarchivo,directorioocarpeta.

Sintaxis

GetAttr(nombre_ruta)

Elargumentorequeridonombre_rutaesunaexpresióndecadenaqueespecificaunnombredearchivo.Puedeincluireldirectorioocarpetaylaunidaddedisco.

Valoresdevueltos

ElvalordevueltoporlafunciónGetAttreslasumadelossiguientesvaloresdeatributos:

Constante Valor DescripciónvbNormal 0 NormalvbReadOnly 1 SólolecturavbHidden 2 OcultovbSystem 4 ArchivodesistemaNodisponibleenMacintosh.vbDirectory 16 DirectorioocarpetavbArchive 32 Elarchivohasidomodificadodespuésdeefectuarla

últimacopiadeseguridadNodisponibleenMacintosh.

vbAlias 64 Elnombreespecificadoesunalias.DisponiblesóloenMacintosh.

NotaEstasconstantesestándefinidasenVisualBasicparaAplicaciones.Porello,esosnombressepuedenutilizarencualquierlugardelcódigoenvezdelvalorcorrespondiente.

Comentarios

Paradeterminarquéatributoshansidoestablecidos,utiliceeloperadorAndpararealizarunacomparaciónbitabitentreelvalordevueltoporlafunciónGetAttryelvalordelatributodearchivoindividualquedesee.Sielresultadoesdistintodecero,significaqueeseatributosehaestablecidoenelarchivoindicado.Porejemplo,elvalordevueltoporlasiguienteexpresiónAndescerosinoestáactivadoelatributoArchivo.

Resultado=GetAttr(NombreA)AndvbArchive

SisehaestablecidoelatributoModificado,elvalordevueltoesdistintodecero.

GetObject(Función)

DevuelveunareferenciaaunobjetoproporcionadoporuncomponenteActiveX.

Sintaxis

GetObject([pathname][,class])

LasintaxisdelafunciónGetObjectconstadeestosargumentosconnombre:

Parte Descripciónpathname Opcional;Variant(String).Larutadeaccesocompletayel

nombredelarchivoquecontieneelobjetoquesevaarecuperar.Siseomitepathname,senecesitaclass.

class Opcional;Variant(String).Unacadenaquerepresentalaclasedelobjeto.

Elargumentoclassutilizalasintaxisnombre_aplicación.tipo_objetoyconstadeestaspartes:

Parte Descripciónnombre_aplicación

Requerido;Variant(String).Elnombredelaaplicaciónqueproporcionaelobjeto.

tipo_objeto Requerido;Variant(String).Eltipooclasedeobjetoquesevaacrear.

Comentarios

UtilicelafunciónGetObjectparateneraccesoaunobjetoActiveXdesdeunarchivoyasignarelmismoaunavariabledeobjeto.UtilicelainstrucciónSetparaasignarelobjetodevueltoporlafunciónGetObjectalavariabledeobjeto.Porejemplo:

DimCADObjectAsObject

SetCADObject=GetObject("C:\CAD\ESQUEMA.CAD")

Cuandoseejecutaestecódigo,seinicialaaplicaciónasociadaconelargumentopathnameespecificadoyseactivaelobjetodelarchivoespecificado.

Sipathnameesunacadenadelongitudcero(""),GetObjectdevuelveunainstanciadelnuevoobjetodeltipoespecificado.Siseomiteelargumentopathname,GetObjectdevuelveelobjetoactivoactualdeltipoespecificado.Si

noexisteningúnobjetodeltipoespecificado,seproduceunerror.

Algunasaplicacioneslepermitenactivarpartedeunarchivo.Agregueunsignodeadmiración(!)alfinaldelnombredelarchivoyacontinuaciónescribaunacadenaqueidentifiquelapartedelarchivoquedeseaactivar.Paraobtenerinformaciónacercadecómocrearestacadena,consulteladocumentacióndelaaplicaciónquecreóelobjeto.

Porejemplo,enunaaplicacióndedibujopuedetenermuchascapasparaundibujoalmacenadoenunarchivo.PodríautilizarelsiguientecódigoparaactivarunacapadentrodeldibujollamadoESQUEMA.CAD:

SetLayerObject=GetObject("C:\CAD\ESQUEMA.CAD!Capa3")

Sinoespecificaelargumentoclassdelobjeto,Automatizacióndeterminalaaplicaciónquesevaainiciaryelobjetoquesevaaactivar,basándoseenelnombredearchivoproporcionado.Algunosarchivos,sinembargo,puedenadmitirmásdeunaclasedeobjeto.Porejemplo,undibujopuedeadmitirtrestiposdiferentesdeobjetos:unobjetoApplication,unobjetoDrawingyunobjetoToolbar,dondetodosformanpartedelmismoarchivo.Paraespecificarquéobjetodelarchivodeseaactivar,utiliceelargumentoopcionalclass.Porejemplo:

DimMiObjetoAsObject

SetMiObjeto=GetObject("C:\DIBUJOS\EJEMPLO.DRW","FIGMENT.DIBUJO")

Enelejemplo,FIGMENTeselnombredelaaplicacióndedibujoyDIBUJOesunodelostiposdeobjetoqueadmite.

Unavezqueseactivaunobjeto,hagareferenciaaélenelcódigomediantelavariabledeobjetoquedefinió.EnelejemploanteriortieneaccesoalaspropiedadesymétodosdelnuevoobjetomediantelavariabledeobjetoMiObjeto.Porejemplo:

MiObjeto.Line9,90

MiObjeto.InsertText9,100,"Holaatodos."

MiObjeto.SaveAs"C:\DIBUJOS\EJEMPLO.DRW"

NotaUtilicelafunciónGetObjectcuandohayaunainstanciaactualdelobjetoosideseacrearelobjetoconunarchivoyacargado.Sinohayningunainstanciaactualynodeseainiciarelobjetoconunarchivocargado,utilicelafunciónCreateObject.

Siunobjetoseharegistradoasímismocomounobjetodeinstanciasimple,sólosecreaunainstanciadelobjeto,independientementedelnúmerodevecesqueseejecutelafunciónCreateObject.Conunobjetodeinstanciasimple,GetObjectsiempredevuelvelamismainstanciacuandosellamaconlasintaxisdecadenadelongitudcero("")yproduceunerrorsiseomiteelargumentopathname.NopuedeutilizarlafunciónGetObjectparaobtenerunareferenciaaunaclasecreadaconVisualBasic.

GetSetting(Función)

Devuelveelvalordeunaclavedelaentradadeunaaplicaciónenelregistro.O(enMacintosh)informaciónenelarchivodeinicializacióndelaaplicación.

Sintaxis

GetSetting(appname,section,key[,default])

LasintaxisdelafunciónGetSettingtienelossiguientesargumentosconnombre:

Parte Descripciónappname Obligatorio.Expresióndecadenaquecontieneelnombredela

aplicaciónoproyectocuyaclavesesolicita.EnMacintosh,esteeselnombredelarchivodeinicializaciónenlacarpetaPreferenciasenlacarpetadelSistema.

section Obligatorio.Expresióndetipocadenaquecontieneelnombredelaseccióndondeseencuentralaclave.

key Obligatorio.Expresióndetipocadenaquecontieneelnombrededelaclavequesevaadevolver.

default Opcional.Expresiónquecontieneelvalorquesevaadevolversinohayvalorenlaclave.Siseomite,seasumequedefaultesunacadenadelongitudcero("").

Comentarios

SialgunodeloselementosindicadoscomoargumentosdelafunciónGetSettingnoexiste,devuelveelvalordefault.

Hex(Función)

DevuelveuntipoStringquerepresentaelvalorhexadecimaldeunnúmero.

Sintaxis

Hex(número)

Elargumentonúmeroescualquierexpresiónnuméricaoexpresióndecadenaválida.

Comentarios

Sinúmeronoestodavíaunnúmeroentero,seredondeaalnúmeroenteromáscercanoantesdeevaluarse.

Sinúmeroes LafunciónHexdevuelveNull NullEmpty Cero(0)Cualquierotronúmero

Hastaochocaractereshexadecimales

Puederepresentarnúmeroshexadecimalesdirectamente,anteponiendo&H.Porejemplo,&H10representa16decimalennotaciónhexadecimal.

Hour(Función)

DevuelveunvalordetipoVariant(Integer)queespecificaunnúmeroenteroentre0y23,inclusive,querepresentalahoradeldía.

Sintaxis

Hour(hora)

ElargumentohorapuedeserunvalordetipoVariant,unaexpresiónnumérica,expresióndecadenaocualquiercombinación,quepuedarepresentarunahora.SihoracontieneNull,lafuncióndevolveráNull.

IIf

(Función)

Devuelveunodeentredosvalores,dependiendodelaevaluacióndeunaexpresión.

Sintaxis

IIf(expr,truepart,falsepart)

LasintaxisdelafunciónIIfcuentaconlossiguientesargumentosconnombre:

Parte Descripciónexpr Requerido.Expresiónquesedeseaevaluar.truepart Requerido.ValoroexpresióndevueltasiexpresTrue.falsepart Requerido.Valoroexpresióndevueltasiexpres

False.

Comentarios

IIfsiempreevalúatruepartyfalsepart,aunquesólovayaadevolverunadeellas.Porestarazón,deberávigilarquenoseproduzcanefectosnodeseados.Porejemplo,sialevaluarfalsepartseproduceunerrordedivisiónporcero,segeneraráunerroraunqueexprseaTrue.

IMEStatus(Función)

DevuelveuntipoIntegerqueespecificaelmodoactualdelEditordemétododeentrada(InputMethodEditoroIME)deMicrosoftWindows;solamenteestádisponibleenversionesdelesteasiático.

Sintaxis

IMEStatus

Valoresdevueltos

Losvaloresdevueltosparalaconfiguraciónregionaljaponesasonlossiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeOn 1 IMEactivado

vbIMEModeOff 2 IMEdesactivadovbIMEModeDisable 3 IMEdeshabilitadovbIMEModeHiragana 4 ModoHiraganadeancho

completovbIMEModeKatakana 5 ModoKatakanadeancho

completovbIMEModeKatakanaHalf 6 ModoKatakanademedio

anchovbIMEModeAlphaFull 7 Modoalfanuméricode

anchocompletovbIMEModeAlpha 8 Modoalfanuméricode

medioancho

Losvaloresderetornoparalaconfiguraciónlocalcoreanasonlossiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeAlphaFull 7 Modoalfanuméricode

anchocompletovbIMEModeAlpha 8 Modoalfanuméricode

mitaddeanchovbIMEModeHangulFull 9 ModoHanguldeancho

completovbIMEModeHangul 10 ModoHanguldemitadde

ancho

Losvaloresderetornoparalaconfiguraciónregionalchinasonlossiguientes:

Constante Valor DescripciónvbIMEModeNoControl 0 SincontrolIME

(predeterminado)vbIMEModeOn 1 IMEactivado

vbIMEModeOff 2 IMEdesactivado

Input(Función)

DevuelveuntipoStringquecontienecaracteresdeunarchivoabiertoenmodoInputoBinary.

Sintaxis

Input(número,[#]númeroarchivo)

LasintaxisdelafunciónInputconstalassiguientespartes:

Parte Descripción

número Requerido.Cualquierexpresiónnuméricaválidaqueespecifiqueelnúmerodecaracteresparadevolver.

númeroarchivo Requerido.Cualquiernúmerodearchivoválido.

Comentarios

LosdatosqueseleenconlafunciónInputnormalmenteseescribenenunarchivoconPrint#oPut.SóloseutilizaestafunciónconarchivosabiertosenmodoInputoBinary.

AdiferenciadelainstrucciónInput#,lafunciónInputdevuelvetodosloscaracteresquelee,incluyendopuntosycoma,retornosdecarro,avancesdelínea,comillasyespaciosiniciales.

ConarchivosabiertosconaccesoBinary,unintentodeleerelarchivoconlafunciónInputhastaqueEOFseaTrueproduceunerror.UselasfuncionesLOFyLocenlugardeEOFalleerarchivosbinariosconInputouseGetalutilizarlafunciónEOF.

NotaUselafunciónInputBparadatostipobytecontenidosenarchivosdetexto.ConInputB,númeroespecificaelnúmerodebytesquesevaadevolverenlugardelnúmerodecaracteres.

InputBox(Función)

Muestraunmensajeenuncuadrodediálogo,esperaqueelusuarioescribauntextoohagaclicenunbotónydevuelveuntipoStringconelcontenidodelcuadrodetexto.

Sintaxis

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

LasintaxisdelafunciónInputBoxconstadeestosargumentosconnombre:

Parte Descripciónprompt Requerido.Expresióndecadenaquesemuestracomo

mensajeenelcuadrodediálogo.Lalongitudmáximadepromptesdeaproximadamente1024caracteres,segúnelanchodeloscaracteresutilizados.Sipromptconstademásdeunalínea,puedesepararlosutilizandouncarácterderetornodecarro(Chr(13)),uncarácterdeavancedelínea(Chr(10))ounacombinacióndeloscaracteresderetornodecarro-avancedelínea(Chr(13)yChr(10))entrecadalíneaylasiguiente.

title Opcional.Expresióndecadenaquesemuestraenlabarradetítulodelcuadrodediálogo.Siomitetitle,enlabarradetítulosecolocaelnombredelaaplicación.

default Opcional.Expresióndecadenaquesemuestraenelcuadrodetextocomorespuestapredeterminadacuandonosesuministraunacadena.Siomitedefault,semuestraelcuadrodetextovacío.

xpos Opcional.Expresiónnuméricaqueespecifica,entwips,ladistanciaensentidohorizontalentreelbordeizquierdodelcuadrodediálogoyelbordeizquierdodelapantalla.Sise

omitexpos,elcuadrodediálogosecentrahorizontalmente.ypos Opcional.Expresiónnuméricaqueespecifica,entwips,la

distanciaensentidoverticalentreelbordesuperiordelcuadrodediálogoyelbordesuperiordelapantalla.Siseomiteypos,elcuadrodediálogosecolocaaaproximadamenteunterciodelaalturadelapantalla,desdeelbordesuperiordelamisma.

helpfile Opcional.ExpresióndecadenaqueidentificaelarchivodeAyudaqueseutilizaráparaproporcionarayudainteractivaparaelcuadrodediálogo.Siseespecificahelpfile,tambiéndeberáespecificarsecontext.

context Opcional.ExpresiónnuméricaqueeselnúmerodecontextodeAyudaasignadoporelautoraltemadeAyudacorrespondiente.Siseespecificacontext,tambiéndeberáespecificarsehelpfile.

Comentarios

Cuandoseespecificatantohelpfilecomocontext,elusuariopuedepresionarF1(Windows)oAyuda(Macintosh)paravereltemadeAyudacorrespondienteacontext.Algunasaplicacioneshost,porejemplo,MicrosoftExcel,tambiénagregarautomáticamenteunbotónAyudaalcuadrodediálogo.SielusuariohaceclicenAceptaropresionaEntrar,lafunciónInputBoxdevuelveloquehayaenelcuadrodetexto.SielusuariohaceclicenCancelar,lafuncióndevuelveunacadenadecaracteresdelongitudcero("").

NotaSideseaespecificarmásqueelprimerargumentoconnombre,debeutilizarInputBoxenunaexpresión.Sideseaomitiralgunosargumentosdeposición,debeincluireldelimitadordecomacorrespondiente.

InStr(Función)

DevuelveuntipoVariant(Long)queespecificalaposicióndelaprimeraaparicióndeunacadenaenotra.

Sintaxis

InStr([start,]string1,string2[,compare])

LasintaxisdelafunciónInStrtieneestosargumentos:

Parte Descripciónstart Opcional.Expresiónnuméricaqueestablecelaposicióninicial

paracadabúsqueda.Siseomite,labúsquedacomienzaenlaposicióndelprimercarácter.SiiniciocontieneunvalorNull,seproduceunerror.Elargumentoinicioserequieresiseespecificacompare.

string1 Requerido.Expresióndecadenaenlaquesebusca.string2 Requerido.Expresióndecadenabuscada.compare Opcional.Especificaeltipodecomparacióndecadena.Si

compareesNull,ocurreunerror.Siseomitecompare,elvalorOptionComparedeterminaeltipodecomparación.EspecificaunLCID(LocaleID)válidoparausarreglasespecíficasdeconfiguraciónregionalenlacomparación.

Valores

Losvaloresdelargumentocompareson:

Constante Valor DescripciónvbUseCompareOption -1 Realizaunacomparaciónconlos

valoresdelainstrucciónOptionCompare.

vbBinaryCompare 0 Realizaunacomparaciónbinaria.vbTextCompare 1 Realizaunacomparacióntextual.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realiza

unacomparaciónbasadaenlainformaciónenlasbasesdedatos.

Valoresdevueltos

Si LafunciónInStrdevuelvestring1esdelongitudcero 0string1esNull Nullstring2esdelongitudcero startstring2esNull Nullstring2noseencontró 0string2seencontródentrodestring1

Posiciónenlaquesehallalacoincidencia

start>string2 0

Comentarios

LafunciónInStrBseutilizaconlosdatosdebytecontenidosenunacadena.Enlugardedevolverlaposicióndelcarácterdelaprimeraaparicióndeunacadenaenotra,InStrBdevuelvelaposicióndelbyte.

InStrRev(Función)

Descripción

Devuelvelaposicióndeunaaparicióndeunacadenadentrodeotra,desdeelfinaldelacadena.

Sintaxis

InstrRev(cadena1,cadena2[,inicio[,comparar]])

LasintaxisdelafunciónInstrRevconstadelossiguientesargumentoscon

nombre

Parte Descripcióncadena1 Requerido.Expresióndecadenaenlaquesebusca.cadena2 Requerido.Expresióndecadenaquesebusca.inicio Opcional.Unaexpresiónnúmericaqueestablecela

posicióninicialparacadabúsqueda.Siseomite,seutiliza–1,quesignificaquelabúsquedaempiezaenlaposicióndelúltimocarácter.Sieliniciocontiene

Nulo,seproduceunerror.

comparar Opcional.Unvalornuméricoqueindicalaclasedecomparaciónqueseutilizarácuandoseevalúensubcadenas.Siseomite,serealizaunacomparaciónbinaria.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

Elargumentocompararpuedetenerlosvaloressiguientes:

Constante Valor DescripciónvbUseCompareOption –1 Realizarunacomparaciónutilizandoelvalor

delainstrucciónOptionCompare.vbBinaryCompare 0 Realizarunacomparaciónbinaria.vbTextCompare 1 Realizaunacomparaciónbasadaeneltexto.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realizaruna

comparaciónbasadaenlainformacióndesubasededatos.

Valoresderetorno

InStrRevdevuelvelosvaloressiguientes:

Si InStrRevdevuelve

cadena1esdelongitudcero 0cadena1esNull Nullcadena2esdelongitudcero Iniciocadena2esNull Nullcadena2noseencuentra 0cadena2seencuentradentrodecadena1

Laposiciónenlaqueseencuentralacoincidencia

inicio>Len(cadena2) 0

Comentarios

ObservequelasintaxisparalafunciónInstrRevnoeslamismaquelasintaxisparalafunciónInstr.

IPmt(Función)

DevuelveuntipoDoublequeindicaelpagodeinteresesduranteunperiododeterminadodeunaanualidadbasándoseenpagosconstantesyperiódicosyuntipodeinteréstambiénconstante.

Sintaxis

IPmt(rate,per,nper,pv[,fv[,type]])

LafunciónIPmtconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinterés

porperiodo.Porejemplo,siobtieneuncréditoparaunautomóvilaunatasaporcentualanual(TPA)del10porcientoyrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

per Requerido.UntipoDoublequeindicaelperiododepago,entre1ynper.

nper Requerido.UntipoDoublequeindicaelnúmerototaldeperiodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

pv Requerido.UntipoDoublequeindicaelvaloractual,ovalordehoy,deunaseriedepagosocobrosfuturos.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.

fv Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comoporejemplolahipotecadeuninmueble)ounainversión(comounplandeahorro

mensual).

Losargumentosrateynperdebencalcularseutilizandoperiodosdepagoexpresadosenlasmismasunidades.Porejemplo,siratesecalculaenmeses,npertambiéndebecalcularseenmeses.

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

IRR(Función)

DevuelveuntipoDoublequeindicalatasainternaderetornodeunaseriedeflujosdeefectivoperiódicos(pagosycobros).

Sintaxis

IRR(values()[,guess])

LafunciónIRRconstadelossiguientesargumentosconnombre:

Parte Descripciónvalues() Requerido.MatrizdetipoDoublequeindicavaloresdeflujode

efectivo.Lamatrizdebeconteneralmenosunvalornegativo(unpago)yunopositivo(uncobro).

Guess Opcional.UntipoVariantqueindicaunvalorqueseestimaquedevolveráIRR.Siseomite,guessserá0,1(10porciento).

Comentarios

Latasainternaderetornoeseltipodeinterésrecibidoporunainversiónconsistenteenpagosycobrosqueseproducenaintervalosperiódicos.

LafunciónIRRutilizaelordendelosvaloresdelamatrizparainterpretarelordendelospagosycobros.Asegúresedeindicarlosvaloresdelospagosycobrossiguiendolasecuenciacorrecta.Noesnecesarioqueelflujodeefectivoencadaperiodoseaconstante,comoseríaenelcasodeunaanualidad.

IRRsecalculaporiteración.Comenzandoconelvalordeguess,IRRrealizauncálculocíclicohastaqueelresultadotieneunaprecisióndel0,00001porciento.Sidespuésde20intentosnopuedeencontrarunresultado,IRRfalla.

IsArray(Función)

DevuelveunvalordetipoBooleanqueindicasiunavariableesunamatriz.

Sintaxis

IsArray(nombrevariable)

Elargumentorequeridonombrevariable,esunidentificadorqueespecificaunavariable.

Comentarios

LafunciónIsArraydevuelveTruesilavariableesunamatriz;encasocontrario,devuelveFalse.LafunciónIsArrayesespecialmenteútilconvariablesdetipoVariantquecontienenmatrices.

IsDate(Función)

DevuelveunvalordetipoBooleanqueindicasiunaexpresiónsepuedeconvertirenunafecha.

Sintaxis

IsDate(expresión)

Elargumentoexpresiónrequerido,esuntipodedatosVariantquecontieneunaexpresióndefechaounaexpresióndecadenareconociblecomounafechaounahora.

Comentarios

LafunciónIsDatedevuelveTruesilaexpresiónesunafechaosepuedereconocercomounafechaválida;encasocontrario,devuelveFalse.EnMicrosoftWindows,elintervalodefechasválidasvadesdeel1deenerode100D.deC.hastael31dediciembrede9999D.deC.;losintervalosvaríandeunsistemaoperativoaotro.

IsEmpty(Función)

DevuelveunvalordetipoBooleanqueindicasiunavariablehasidoinicializada.

Sintaxis

IsEmpty(expresión)

ElargumentoexpresiónrequeridoesuntipodedatosVariantquecontieneunaexpresióndecadenaounaexpresiónnumérica.Sinembargo,yaquelafunciónIsEmptyseutilizaparadeterminarsilasvariablesindividualesestáninicializadas,elargumentoexpresiónesgeneralmenteunúniconombredevariable.

Comentarios

LafunciónIsEmptydevuelveTruesilavariablenoestáinicializadaoestáexplicítamenteconfiguradaaEmpty;encualquierotrocaso,devuelveFalse.SedevuelveFalsesiemprequeexpresióncontengamásdeunavariable.LafunciónIsEmptysolamentedevuelveinformaciónsignificativaparadatosdetipoVariant.

IsError(Función)

DevuelveunvalordetipoBooleanqueindicasiunaexpresióntieneunvalordeerror.

Sintaxis

IsError(expresión)

Elargumentoexpresiónrequerido,puedesercualquierexpresiónválida.

Comentarios

LosvaloresdeerrorsecreanalconvertirnúmerosrealesavaloresdeerrorutilizandolafunciónCVErr.LafunciónIsErrorseutilizaparadeterminarsiunaexpresiónnuméricarepresentaunerror.LafunciónIsErrordevuelveTruesielargumentoexpresiónindicaunerror;encasocontrario,devuelveFalse.

IsMissing(Función)

DevuelveunvalordetipoBooleanqueindicasiunargumentoopcionalsehatransferidoaunprocedimiento.

Sintaxis

IsMissing(nombreargumento)

ElargumentonombreargumentocontieneelnombredeunargumentodeprocedimientoVariantopcional.

Comentarios

UtilicelafunciónIsMissingparadetectarsilosargumentosopcionalessetransfirieronenlallamadaalprocedimiento.LafunciónIsMissingdevuelveTruesinosetransfirieronvaloresparaelargumentoespecificado;encasocontrario,devuelveFalse.SilafunciónIsMissingdevuelveTrueparaunargumento,utilizareseargumentoausenteenotrocódigopuedeprovocarunerrordefinidoporelusuario.SilafunciónIsMissingseutilizaenunargumentoParamArray,siempredevuelveFalse.ParadetectarunargumentoParamArrayvacío,compruebesiellímitesuperiordelamatrizesmenorqueellímiteinferior.

NotaIsMissingnofuncionaentiposdedatossimples(talescomoIntegeroDouble)porque,alcontrarioqueVariants,notieneunaprovisiónparabitde"falta"marcador.Porestarazón,lasintaxisparaargumentosopcionalesescritoslepermiteespecificarunvalorpredeterminado.Siseomiteelargumentocuandosellamaalprocedimiento,entonceselargumentotendráestevalorpredeterminado,comoenelejemplosiguiente:

SubMiSub(OptionalMiVarAsString="specialvalue")

IfMiVar="specialvalue"Then

'seomitióMiVar.

Else

...

EndSub

EnmuchoscasospuedeomitirlacomprobaciónIfMiVartotalmentesihaceelvalorpredeterminadoigualalvalorquequierequecontengaMiVarsielusuarioloomitedelallamadadelafunción.Estohacesucódigomásconcisoyefectivo.

IsNull(Función)

DevuelveunvalordetipoBooleanqueindicasiunaexpresióncontienedatosnoválidos(Null).

Sintaxis

IsNull(expresión)

Elargumentoexpresiónrequerido,esuntipodedatosVariantquecontieneunaexpresiónnuméricaounaexpresióndecadena.

Comentarios

LafunciónIsNulldevuelveTruesiexpresiónesNull;encualquierotrocaso,IsNulldevuelveFalse.Siexpresiónestáformadapormásdeunavariable,lapresenciadeNullencualquiervariablehacequesedevuelvaTrueparatodalaexpresión.

ElvalorNullindicaqueVariantcontienedatosnoválidos.LafunciónNullnoeslamismaquelafunciónEmpty,lacualindicaqueunavariabletodavíanohasidoinicializada.Tampocoeslomismoqueunacadenadelongitudcero(""),queavecessesuelellamarcadenanula.

ImportanteUtilicelafunciónIsNullparadeterminarsiunaexpresióncontieneunvalorNull.LasexpresionesqueesperaevaluarcomoTrueenciertascircunstancias,talescomoIfVar=NullANDIfVar<>Null,sonsiempreFalse.EstosedebeaquecualquierexpresiónquecontieneunNullesporsimismadevalorNullyporconsiguienteFalse.

IsNumeric(Función)

DevuelveunvalordetipoBooleanqueindicasiunaexpresiónsepuedeevaluarcomounnúmero.

Sintaxis

IsNumeric(expresión)

Elargumentoexpresiónrequerido,esuntipodedatosVariantquecontieneunaexpresiónnuméricaounaexpresióndetipocadena.

Comentarios

LafunciónIsNumericdevuelveTruesilaexpresióncompletasereconocecomounnúmero;enotrocaso,devuelveFalse.

LafunciónIsNumericdevuelveFalsesiexpresiónesunaexpresióndefecha.

IsObject(Función)

DevuelveunvalordetipoBooleanqueindicasiunidentificadorrepresentaunavariabledetipoObject.

Sintaxis

IsObject(identificador)

Elargumentoobligatorioidentificadoresunnombredevariable.

Comentarios

LafunciónIsObjectesútilsolamenteparadeterminarsiuntipodedatosVariantesdeVarTypevbObject.EstopodríasucedersiVariantactualmentehacereferencia(ounavezhizoreferencia)aunobjetoosicontieneNothing.

LafunciónIsObjectdevuelveTruesiidentificadoresunavariabledeclaradadetipoObjectocualquiertipodeclaseválida,osiidentificadoresuntipodedatosVariantdeVarTypevbObjectounobjetodefinidoporelusuario;encualquierotrocaso,devuelveFalse.LafunciónIsObjectdevuelveTrueinclusosilavariablehasidoconfiguradacomoNothing.

Utiliceeltratamientodeerroresparaasegurarsedequeunareferenciaaunobjetoesválida.

Join

(Función)

Descripción

Devuelveunacadenaquesecreóuniendosubcadenascontenidasenunamatriz.

Sintaxis

Join(lista[,delimitador])

LasintaxisdelafunciónJoinconstadelossiguientesargumentosconnombre

Parte Descripciónlista Requerido.Unamatrizdeunadimensiónquecontienelas

subcadenasqueunir.delimitador Opcional.Elcarácterdelacadenaqueseutilizaparasepararlas

subcadenasenlacadenadevuelta.Siseomite,seutilizaelcaracterespacio("").Sieldelimitadoresunacadenadelongitudcero(""),

seconcatenantodosloselementosenlalistasindelimitadores.

LBound(Función)

DevuelveuntipoLongquecontieneelsubíndicemáspequeñodisponibleparaladimensiónindicadadeunamatriz.

Sintaxis

LBound(nombre_matriz[,dimensión])

LasintaxisdelafunciónLBoundconstadelassiguientespartes:

Parte Descripción

nombre_matriz

Requerido.Nombredelavariabledematriz;siguelasconvencionesdenombresestándardevariables.

dimensión Opcional;Variant(Long).Númeroenteroqueindicaaquédimensióncorrespondeellímiteinferiordevuelto.Use1paralaprimeradimensión,2paralasegundayasísucesivamente.Sidimensiónseomite,sesuponequees1.

Comentarios

LafunciónLBoundseusajuntoconlafunciónUBoundparadeterminareltamañodeunamatriz.UselafunciónUBoundparaencontrarellímitesuperiordeunadimensiónmatricial.

LBounddevuelvelosvaloresenumeradosenlatablasiguienteparaunamatrizquetienelassiguientesdimensiones:

DimA(1To100,0To3,-3To4)

Instrucción ValordevueltoLBound(A,1) 1LBound(A,2) 0LBound(A,3) -3

Ellímiteinferiorpredeterminadoparacualquierdimensiónes0ó1,dependiendodelaconfiguracióndelainstrucciónOptionBase.LabasedeunamatrizcreadaconlafunciónArrayescero;estonoseveafectadoporOptionBase.

LasmatricescuyasdimensionesseestablecenmediantelacláusulaToenunainstrucciónDim,Private,Public,ReDimoStaticpuedentenercualquiervalorenterocomolímiteinferior.

LCase(Función)

DevuelveuntipoStringquesehaconvertidoaminúsculas.

Sintaxis

LCase(cadena)

Elargumentocadenaescualquierexpresióndecadenaválida.SistringcontieneNull,sedevuelveNull.

Comentarios

Sóloseconviertenaminúsculaslasletrasmayúsculas.Lasletrasminúsculasoloscaracteresquenosonletrasnosufrencambios.

Left(Función)

DevuelveuntipoVariant(String)quecontieneunnúmeroespecificadodecaracteresdelladoizquierdodeunacadena.

Sintaxis

Left(string,length)

LasintaxisdelafunciónLefttieneestosargumentosconnombre:

Parte Descripciónstring Requerido.Expresióndecadenadelacualsedevuelvenlos

caracteresqueestánmásalaizquierda.SistringcontieneNull,sedevuelveNull.

length Requerido,untipoVariant(Long).Expresiónnuméricaqueindicacuántoscaracteressevanadevolver.Sies0,devuelveunacadenadelongitudcero("").Siesmayoroigualalnúmerodecaracteresenstring,sedevuelvelacadenaentera.

Comentarios

Paradeterminarelnúmerodecaracteresenstring,utilicelafunciónLen.

NotaUtilicelafunciónLeftBcondatosdebytecontenidosenunacadena.Enlugardeespecificarelnúmerodecaracteresquesevanadevolver,lengthespecificaelnúmerodebytes.

Len(Función)

DevuelveuntipoLongquecontieneelnúmerodecaracteresenunacadenaoelnúmerodebytesnecesariosparaalmacenarunavariable.

Sintaxis

Len(cadena|nombrevar)

LasintaxisdelafunciónLenconstadelassiguientespartes:

Parte Descripcióncadena Cualquierexpresióndecadenaválida.SicadenacontieneNull,se

devuelveNull.Nombrevar Cualquiernombredevariableválido.SinombrevarcontieneNull,

sedevuelveNull.SinombrevaresuntipoVariant,LenactúaigualqueconuntipoStringysiempredevuelveelnúmerodecaracteresquecontiene.

Comentarios

Sedebenespecificaruno(ysólouno)delosdosargumentosposibles.Contiposdefinidosporelusuario,Lendevuelveeltamañocomoseescribiráenelarchivo.

NotaUtilicelafunciónLenBcondatosdebyteincluidosenunacadena,como

enloslenguajesdelconjuntodecaracteresdedoblebyte(DBCS).Enlugardedevolverelnúmerodecaracteresenunacadena,LenBdevuelveelnúmerodebytesutilizadospararepresentaresacadena.Contiposdedatosdefinidosporelusuario,LenBdevuelveeltamañoenmemoria,incluyendocualquierrellenoentrecódigoqueutilizaLenB,veaelsegundoejemploeneltemadeejemplo.

NotaPuedequeLennoseacapazdedeterminarelnúmerorealrequeridodebytesdealmacenamientocuandoseutilizaconcadenasdelongitudvariableentiposdedatosdefinidosporelusuario.

Loc(Función)

DevuelveuntipoLongqueespecificalaposiciónactualdelecturaoescrituradentrodeunarchivoabierto.

Sintaxis

Loc(númeroarchivo)

ElargumentoconnombrenúmeroarchivoescualquiernúmerodearchivodetipoInteger.

Comentarios

Acontinuaciónseindicaelvalordevueltoporcadamododeaccesoaarchivos:

Modo ValordevueltoRandom Númerodelúltimoregistroleídooescritoenelarchivo.Sequential Laposicióndebyteactualenelarchivo,divididapor128.Sin

embargo,lainformaciónquedevuelveLocparalosarchivossecuencialesnoseutilizaniesobligatoria.

Binary Posicióndelúltimobyteleídooescrito.

LOF(Función)

DevuelveuntipoLongqueindicaeltamaño,enbytes,deunarchivoabiertomediantelainstrucciónOpen.

Sintaxis

LOF(númeroarchivo)

ElargumentonecesarionúmeroarchivoescualquierIntegerquecontengaunnúmerodearchivoválido.

NotaParaobtenerlalongituddeunarchivoquenoestáabiertoutilicelafunciónFileLen.

Log(Función)

DevuelveuntipoDoublequeespecificaellogaritmonaturaldeunnúmero.

Sintaxis

Log(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválidamayorquecero.

Comentarios

Ellogaritmonaturalesellogaritmoenbasee.Elvalordelaconstanteees2.718282aproximadamente.

Puedecalcularlogaritmosenbase-nparacualquiernúmeroxdividiendoellogaritmonaturaldexporellogaritmonaturaldendelasiguientemanera:

Logn(x)=Log(x)/Log(n)

Elejemplosiguienteilustraunafunciónpersonalizada(Function)quecalculalogaritmosenbase10:

StaticFunctionLog10(X)

Log10=Log(X)/Log(10#)

EndFunction

LTrim,RtrimyTrim(Funciones)

DevuelveuntipoVariant(String)quecontieneunacopiadeunacadenadeterminadasinespaciosalaizquierda(LTrim),sinespaciosaladerecha(RTrim)osinespaciosnialaderechanialaizquierda(Trim).

Sintaxis

LTrim(cadena)

RTrim(cadena)

Trim(cadena)

Elargumentocadenaobligatorioescualquierexpresióndecadenaválida.SicadenacontieneNull,sedevuelveNull.

Mid(Función)

DevuelveuntipoVariant(String)quecontieneunnúmeroespecificadodecaracteresdeunacadena.

Sintaxis

Mid(string,start[,length])

LasintaxisdelafunciónMidtieneestosargumentosconnombre:

Parte Descripciónstring Requerido.Expresióndecadenadelacualsedevuelvenlos

caracteres.SistringcontieneNull,sedevuelveNull.start Requerido;untipoLong.Posicióndecarácterenstringenlacual

comienzalapartequesequieretomar.Sistartesmayorqueelnúmerodecaracteresenlastring,Middevuelveunacadenadelongitudcero("").

length Requerido;untipoVariant(Long).Númerodecaracteresquesevanadevolver.Siseomiteoeneltextohaymenosdelengthcaracteres(incluyendoelcarácterdestart),sedevuelventodosloscaracteresdesdelaposicióndestarthastaelfinaldelacadena.

Comentarios

Paradeterminarelnúmerodecaracteresenstring,utilicelafunciónLen.

NotaUtilicelafunciónMidBcondatosdebyteincluidosenunacadena,comoenloslenguajesdeconjuntodecaracteresdedoblebyte.Enlugardeespecificarelnúmerodecaracteres,losargumentosespecificanelnúmerodebytes.ParavercódigodeejemploqueutilizaMidB,veaelsegundoejemploeneltemadeejemplo.

Minute(Función)

DevuelveunvalordetipoVariant(Integer)queespecificaunnúmeroenteroentre0y59,inclusive,querepresentaelminutodelahora.

Sintaxis

Minute(hora)

ElargumentohoraescualquiervalordetipoVariant,unaexpresiónnumérica,expresióndecadenaocualquiercombinaciónquepuedarepresentarunahora.SihoracontieneNull,lafuncióndevolveráNull.

MIRR(Función)

DevuelveuntipoDoublequeindicalatasainternaderetornomodificadaparaunaseriedeflujosdeefectivoperiódicos(pagosycobros).

Sintaxis

MIRR(values(),financerate,reinvestrate)

LafunciónMIRRconstadelossiguientesargumentosconnombre:

Parte Descripciónvalues() Requerido.MatrizdetipoDoublequeindicalosvalores

deflujodeefectivo.Lamatrizdebeconteneralmenosunvalornegativo(unpago)yunopositivo(uncobro).

financerate Requerido.UntipoDoublequeindicaeltipodeinteréspagadocomocostodefinanciación.

reinvestrate Requerido.UntipoDoublequeindicaeltipodeinterésrecibidocomogananciaporlainversiónenefectivo.

Comentarios

Latasainternaderetornomodificadaeslatasainternaderetornocuandolospagosyloscobrossefinanciancontiposdistintos.LafunciónMIRRtieneencuentaelcostodelainversión(financerate)yeltipodeinterésrecibidoporlareinversióndeefectivo(reinvestrate).

Losargumentosfinancerateereinvestratesonporcentajesexpresadoscomovaloresdecimales.Porejemplo,12porcientoseexpresacomo0,12.

LafunciónMIRRutilizaelordendelosvaloresdelamatrizparainterpretarelordendelospagosycobros.Asegúresedeindicarlosvaloresdelospagosycobrossiguiendolasecuenciacorrecta.

Month(Función)

DevuelveunvalordetipoVariant(Integer)queespecificaunnúmeroenteroentre1y12,inclusive,querepresentaelmesdelaño.

Sintaxis

Month(fecha)

ElargumentofechaescualquiervalordetipoVariant,unaexpresiónnumérica,expresióndecadenaocualquiercombinación,quepuedarepresentarunafecha.SifechacontieneNull,lafuncióndevolveráNull.

NotaSilaconfiguracióndelapropiedadCalendaresgregoriano,elenterodevueltorepresentaeldíadelasemanagregorianoparaelargumentofecha.SielcalendarioesHijri,elenterodevueltorepresentaeldíadelasemanaHijriparaelargumentofecha.ParafechasHijri,elargumentonúmeroescualquierexpresiónnuméricaquepuedarepresentarunafechay/uhoradesde1/1/100(gregoriano,2deagostodel718)a4/3/9666(gregoriano,31dediciembredel9999).

MonthName(Función)

Descripción

Devuelveunacadenaqueindicaelmesespecificado.

Sintaxis

MonthName(mes[,abreviar])

LasintaxisdelafunciónMonthNameconstadelassiguientespartes:

Parte Descripciónmes Requerido.Ladesignaciónnuméricadelmes.Porejemplo,

eneroes1,febreroes2,etcétera.abreviar Opcional.ElvalorBooleanqueindicasisevaaabreviarel

nombredelmes.Siseomite,elvalorpredeterminadoesFalse,quesignificaqueelnombredelmesnoseabrevia.

MsgBox(Función)

Muestraunmensajeenuncuadrodediálogo,esperaaqueelusuariohagaclicenunbotónydevuelveuntipoIntegercorrespondientealbotónelegidoporelusuario.

Sintaxis

MsgBox(prompt[,buttons][,title][,helpfile,context])

LasintaxisdelafunciónMsgBoxconstadeestosargumentosconnombre:

Parte Descripciónprompt Requerido.Expresióndecadenaquerepresentaelpromptenel

cuadrodediálogo.Lalongitudmáximadepromptesdeaproximadamente1024caracteres,segúnelanchodeloscaracteresutilizados.Sipromptconstademásdeunalínea,puedesepararlosutilizandouncarácterderetornodecarro(Chr(13))ouncarácterdeavancedelínea(Chr(10)),ounacombinacióndecaracteresderetornodecarro–avancedelínea(Chr(13)yChr(10))entrecadalíneaylasiguiente.

buttons Opcional.Expresiónnuméricaquecorrespondealasumadelosvaloresqueespecificanelnúmeroyeltipodelosbotonesquesepretendenmostrar,elestilodeiconoquesevaautilizar,laidentidaddelbotónpredeterminadoylamodalidaddelcuadrodemensajes.Siseomiteesteargumento,elvalorpredeterminadoparabuttonses0.

title Opcional.Expresióndecadenaquesemuestraenlabarradetítulodelcuadrodediálogo.Siseomitetitle,enlabarradetítulosecolocaelnombredelaaplicación.

helpfile Opcional.ExpresióndecadenaqueidentificaelarchivodeAyudaqueseutilizaparaproporcionarayudainteractivaenelcuadrode

diálogo.Siseespecificahelpfile,tambiénsedebeespecificarcontext.

context Opcional.ExpresiónnuméricaqueesigualalnúmerodecontextodeAyudaasignadoporelautoraltemadeAyudacorrespondiente.Siseespecificacontext,tambiénsedebeespecificarhelpfile.

Valores

Elargumentobuttonstieneestosvalores:

Constante Valor DescripciónVbOKOnly 0 MuestrasolamenteelbotónAceptar.VbOKCancel 1 MuestralosbotonesAceptary

Cancelar.VbAbortRetryIgnore 2 MuestralosbotonesAnular,

ReintentareIgnorar.VbYesNoCancel 3 MuestralosbotonesSí,NoyCancelar.VbYesNo 4 MuestralosbotonesSíyNo.VbRetryCancel 5 MuestralosbotonesReintentary

Cancelar.VbCritical 16 Muestraeliconodemensajecrítico.VbQuestion 32 Muestraeliconodepreguntade

advertencia.VbExclamation 48 Muestraeliconodemensajede

advertencia.VbInformation 64 Muestraeliconodemensajede

información.VbDefaultButton1 0 Elprimerbotóneselpredeterminado.VbDefaultButton2 256 Elsegundobotóneselpredeterminado.VbDefaultButton3 512 Eltercerbotóneselpredeterminado.VbDefaultButton4 768 Elcuartobotóneselpredeterminado.VbApplicationModal 0 Aplicaciónmodal;elusuariodebe

responderalcuadrodemensajesantesdepoderseguirtrabajandoenlaaplicaciónactual.

VbSystemModal 4096 Sistemamodal;sesuspendentodaslasaplicacioneshastaqueelusuariorespondaalcuadrodemensajes.

VbMsgBoxHelpButton 16384 AgregaelbotónAyudaalcuadrodemensaje.

VbMsgBoxSetForeground 65536 Especificalaventanadelcuadrodemensajecomolaventanadeprimerplano.

VbMsgBoxRight 524288 Eltextosealíneaaladerecha.VbMsgBoxRtlReading 1048576 Especificaqueeltextodebeaparecer

paraserleídodederechaaizquierdaensistemashebreoyárabe.

Elprimergrupodevalores(0a5)describeelnúmeroyeltipodelosbotonesmostradosenelcuadrodediálogo;elsegundogrupo(16,32,48,64)describeelestilodelicono,eltercergrupo(0,256,512)determinaelbotónpredeterminadoyelcuartogrupo(0,4096)determinalamodalidaddelcuadrodemensajes.Cuandosesumannúmerosparaobtenerelvalorfinaldelargumentobuttons,seutilizasolamenteunnúmerodecadagrupo.

NotaEstasconstanteslasespecificaVisualBasicforApplications.Portanto,elnombredelasmismaspuedeutilizarseencualquierlugardelcódigoenvezdesusvaloresreales.

Valoresdevueltos

Constante Valor DescripciónvbOK 1 AceptarvbCancel 2 CancelarvbAbort 3 AnularvbRetry 4 ReintentarvbIgnore 5 IgnorarvbYes 6 SívbNo 7 No

Comentarios

Cuandoseproporcionantantohelpfilecomocontext,elusuariopuedepresionarF1(Windows)oAyuda(Macintosh)paravereltemadeAyudacorrespondientealcontext.Algunasaplicacioneshost,porejemploMicrosoftExcel,tambiénagreganautomáticamenteunbotónAyudaalcuadrodediálogo.

SielcuadrodediálogocuentaconunbotónCancelar,presionarlateclaESCtendráelmismoefectoquehacerclicenestebotón.SielcuadrodediálogocontieneunbotónAyuda,sesuministraayudainteractivaparaesecuadrodediálogo.Sinembargo,nosedevuelvevaloralgunohastaquesehaceclicenunodeestosbotones.

NotaSideseaespecificarmásqueelprimerargumentoconnombre,debeutilizarMsgBoxenunaexpresión.Sideseaomitiralgúnargumentodeposición,debeincluireldelimitadordecomacorrespondiente.

Now(Función)

DevuelveunvalordetipoVariant(Date)queespecificalafechayhoraactualesdeacuerdoconlaconfiguracióndelafechaylahoradelsistemadesuequipo.

Sintaxis

Now

NPer(Función)

DevuelveuntipoDoublequeindicaelnúmerodeperiodosdeunaanualidadbasándoseenpagosperiódicosyconstantesconuntipodeinteréstambiénconstante.

Sintaxis

NPer(rate,pmt,pv[,fv[,type]])

LafunciónNPerconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinteréspor

periodo.Porejemplo,siobtieneuncréditoparacomprarunautomóvilaunatasaporcentualanual(TPA)del10porcientoyrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

pmt Requerido.UntipoDoublequeindicaelpagoquehayquerealizarcadaperiodo.Normalmente,lospagoscontienenunnominalyuninterésquenovaríaalolargodelavidadelaanualidad.

pv Requerido.UntipoDoublequeindicaelvaloractual,ovalordehoy,deunaseriedepagosocobrosfuturos.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.

fv Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comoporejemplolahipotecadeuninmueble)ounainversión(comounplandeahorromensual).

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

NPV(Función)

DevuelveuntipoDoublequeindicaelvaloractualnetodeunainversiónbasadaenunaseriedeflujosdeefectivoperiódicos(pagosycobros)yuntipodedescuento.

Sintaxis

NPV(rate,values())

LafunciónNPVconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodedescuentoalo

largodelperiodo,expresadocomounvalordecimal.values() Requerido.MatrizdetipoDoublequeespecificavaloresde

flujodeefectivo.Lamatrizdebeconteneralmenosunvalornegativo(unpago)yunvalorpositivo(uncobro).

Comentarios

Elvaloractualnetodeunainversióneselvaloractualdeunaseriedepagosycobrosfuturos.

LafunciónNPVutilizaelordendelosvaloresdelamatrizparainterpretarelordendelospagosycobros.Asegúresedeindicarlosvaloresdelospagosycobrossiguiendolasecuenciacorrecta.

LainversióndeNPVcomienzaunperiodoantesdelafechadelprimerflujodeefectivoyterminaconelúltimoflujodeefectivodelamatriz.

Elcálculodelvaloractualnetosebasaenflujosdeefectivofuturos.Sielprimerflujodeefectivoseproducealprincipiodelprimerperiodo,elprimervalordebeagregarsealquedevuelvaNPVynodebeincluirseenlosvaloresdeflujodeefectivodevalues().

LafunciónNPVessimilaraPV(valoractual),exceptoenquePVpermitequelosflujosdeefectivocomiencenalprincipiooalfinaldeunperiodo.AdiferenciadelosvaloresdeflujodeefectivovariablesdeNPV,losdePVdebenserconstantesalolargodetodalainversión.

Oct(Función)

DevuelveuntipoVariant(String)querepresentaelvaloroctaldeunnúmero.

Sintaxis

Oct(número)

Elargumentonúmeronecesarioescualquierexpresiónnuméricaoexpresióndecadenaválida.

Comentarios

Sinúmeronoestodavíaunnúmeroentero,seredondeaalnúmeroenteromáscercanoantesdeevaluarse.

Sinúmeroes LafunciónOctdevuelveNull NullEmpty Cero(0)Cualquierotronúmero

Hasta11caracteresoctales

Puederepresentarnúmerosoctalesdirectamente,anteponiendo&O.Porejemplo,&O10enlanotaciónoctalrepresentaa8enbasediez.

Partition(Función)

DevuelveunaVariant(String)indicandoenquépuntoseencuentraunnúmerodentrodeunaseriecalculadadeintervalos.

Sintaxis

Partition(number,start,stop,interval)

LasintaxisdelafunciónPartitionconstadelossiguientesargumentosconnombre:

Parte Descripciónnumber Requerido.Númeroenteroquequiereevaluarfrentealos

intervalos.start Requerido.Númeroenteroqueindicaelcomienzodel

intervaloglobaldenúmeros.Nopuedeserinferiora0.

stop Requerido.Númeroenteroqueindicaelfinaldelintervaloglobaldenúmeros.Nopuedeserigualnimenorquestart.

Comentarios

LafunciónPartitionidentificaelintervaloenparticularenqueseencuentranumberydevuelveunaVariant(String)quedescribeeseintervalo.LafunciónPartitionresultaútilsobretodoenlasconsultas.Puedecrearunaconsultadeselecciónquemuestrecuántospedidosseencuentranendeterminadosintervalos,porejemplo,valoresdepedidoentre1y1000,entre1001y2000,etc.

Enlatablasiguientesemuestralaformaenquesedeterminanlosintervalosutilizandotresconjuntosdecomponentesstart,stopeinterval.LascolumnasPrimerintervaloyÚltimointervalomuestranlosvaloresdevueltosporPartition.Losintervalosserepresentanenlaformavalorinferior:valorsuperior,dondeelextremomínimo(valorinferior)delintervaloseseparacondospuntos(:)delextremomáximo(valorsuperior).

start stop intervalAntesdelprimero

Primerintervalo

Últimointervalo

Despuésdelúltimo

0 99 5 ":-1" "0:4" "95:99" "100:"20 199 10 ":19" "20:29" "190:199" "200:"100 1010 20 ":99" "100:119 "1000:1010" "1011:"

Enlatablaanterior,laterceralíneamuestraelresultadocuandostartystopdefinenunconjuntodenúmerosquenosepuedendividirexactamenteentreinterval.Elúltimointervaloseextiendehastastop(11números),aunqueintervales20.

Siesnecesario,Partitiondevolveráunintervaloconlossuficientesespaciosalaizquierdaparaquehayaelmismonúmerodecaracteres,alaizquierdayderechadelosdospuntos,queenstop,másuno.AsíseaseguraquesiseutilizaPartitionconotrosnúmeros,eltextoresultanteseprocesarácorrectamenteenunaoperacióndeordenaciónposterior.

Siintervales1,elintervaloseránumber:number,independientementedelos

argumentosstartystop.Porejemplo,siintervales1,numberes100ystopes1000,Partitiondevolverá"100:100".

SialgunodelosargumentosesNull,PartitiondevolveráNull.

Pmt(Función)

DevuelveuntipoDoublequeindicaelpagodeunaanualidadbasadaenpagosperiódicosconstantesconuntipodeinteréstambiénconstante.

Sintaxis

Pmt(rate,nper,pv[,fv[,type]])

LafunciónPmtconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinterés

porperiodo.Porejemplo,siobtieneuncréditoparacomprarunautomóvilaunatasaporcentualanual(TPA)del10porcientoyrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

nper Requerido.UntipoIntegerqueindicaelnúmerototaldeperiodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

pv Requerido.UntipoDoublequeindicaelvaloractual(osumaglobal)quetieneenestemomentounaseriedepagospararealizarenelfuturo.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.

fv Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comoporejemplolahipotecadeuninmueble)ounainversión(comounplandeahorromensual).

Losargumentosrateynperdebencalcularseutilizandoperiodosdepagoexpresadosenlasmismasunidades.Porejemplo,siratesecalculaenmeses,npertambiéndebecalcularseenmeses.

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

PPmt(Función)

DevuelveuntipoDoublequeindicaelpagonominalcorrespondienteaunperiododeterminadodeunaanualidadbasadaenpagosperiódicosyconstantesconuntipodeinteréstambiénconstante.

Sintaxis

PPmt(rate,per,nper,pv[,fv[,type]])

LafunciónPPmtconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinterés

porperiodo.Porejemplo,siobtieneuncréditoparacomprarunautomóvilaunatasaporcentualanual(TPA)del10porciento,yrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

per Requerido.UntipoIntegerqueindicaelperiododelpago,entre1ynper.

nper Requerido.UntipoIntegerqueindicaelnúmerototaldeperiodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

fv Requerido.UntipoDoublequeindicaelvaloractual,ovalordehoy,deunaseriedepagosocobrosfuturos.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.

fv Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comoporejemplolahipotecadeuninmueble)ounainversión(comounplandeahorromensual).

Losargumentosrateynperdebencalcularseutilizandoperiodosdepagoexpresadosenlasmismasunidades.Porejemplo,siratesecalculaenmeses,npertambiéndebecalcularseenmeses.

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

PV(Función)

DevuelveuntipoDoublequeindicaelvaloractualdeunaanualidadbasadaenpagosperiódicosconstantesquesevanarealizarenelfuturo,conuntipodeinteréstambiénconstante.

Sintaxis

PV(rate,nper,pmt[,fv[,type]])

LafunciónPVconstadelossiguientesargumentosconnombre:

Parte Descripciónrate Requerido.UntipoDoublequeindicaeltipodeinterés

porperiodo.Porejemplo,siobtieneuncréditoparacomprarunautomóvilaunatasaporcentualanual(TPA)del10porciento,yrealizapagosmensuales,eltipoporperiodoserá0,1/12ó0,0083.

nper Requerido.UntipoIntegerqueindicaelnúmerototaldeperiodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

pmt Requerido.UntipoDoublequeindicaelpagoarealizarcadaperiodo.Normalmente,lospagoscontienenunnominalyuninterésquenovaríaalolargodelavidadelaanualidad.

fv Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comopor

ejemplolahipotecadeuninmueble)ounainversión(comounplandeahorromensual).

Losargumentosrateynperdebencalcularseutilizandoperiodosdepagoexpresadosenlasmismasunidades.Porejemplo,siratesecalculaenmeses,npertambiéndebecalcularseenmeses.

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

QBColor(Función)

DevuelveuntipoLongquerepresentaelcódigodecolorRGBcorrespondientealnúmerodecolorespecificado.

Sintaxis

QBColor(color)

Elargumentocoloresunnúmeroenteroentre0-15.

Valores

Elargumentocolortomalossiguientesvalores:

Número Color Número Color0 Negro 8 Gris1 Azul 9 Azulclaro

2 Verde 10 Verdeclaro3 Aguamarina 11 Aguamarinaclaro4 Rojo 12 Rojoclaro5 Fucsia 13 Fucsiaclaro6 Amarillo 14 Amarilloclaro7 Blanco 15 Blancobrillante

Comentarios

ElargumentocolorrepresentalosvaloresdecolorqueutilizanotrasversionesdeBasic(comoMicrosoftVisualBasicparaMS-DOSyBasicCompiler).Comenzandoporelbytemenossignificativo,elvalordevueltoespecificalosvaloresderojo,verdeyazulnecesariosparaestablecerelcolorcorrespondienteenelsistemaRGBqueutilizaVisualBasicparaAplicaciones.

Rate(Función)

DevuelveuntipoDoublequeindicaeltipodeinterésporperiododeunaanualidad.

Sintaxis

Rate(nper,pmt,pv[,fv[,type[,guess]]])

LafunciónRateconstadelossiguientesargumentosconnombre:

Parte Descripciónnper Requerido.UntipoDoublequeindicaelnúmerototalde

periodosdepagodelaanualidad.Porejemplo,sirealizapagosmensualescorrespondientesauncréditoparaadquirirunautomóvilacuatroaños,elcréditotendráuntotalde4*12(ó48)periodosdepago.

pmt Requerido.UntipoDoublequeindicaelpagoquesevaarealizarcadaperiodo.Normalmente,lospagoscontienenunnominalyuninterésquenovaríaalolargodelavidadelaanualidad.

pv Requerido.UntipoDoublequeindicaelvaloractual,ovalorhoy,deunaseriedepagosocobrosfuturos.Porejemplo,enelmomentodeobteneruncréditoparacomprarunautomóvil,elimportedelmismoeselvaloractualparaelprestamistadelospagosmensualesarealizar.

vf Opcional.UntipoVariantqueindicaelvalorfuturoobalanceenefectivoquesedeseatenerunavezrealizadoelpagofinal.Porejemplo,elvalorfuturodeuncréditoes0,puestoquetalessuvalordespuésdelpagofinal.Sinembargo,sideseaahorrar5.000.000$paralaeducacióndesuhijodurante18años,elvalorfuturoserá5.000.000$.Siseomite,seasumeelvalor0.

type Opcional.UntipoVariantqueindicaelmomentoenquevencenlospagos.Utilice0silospagosvencenalfinaldelperiodoo1silospagosvencenalprincipiodelmismo.Siseomite,seasumeelvalor0.

guess Opcional.UntipoVariantqueindicalaestimaciónquedevolveráRate.Siseomite,guessserá0,1(10porciento).

Comentarios

Unaanualidadesunaseriedepagosconstantesenefectivorealizadosalolargodeunperiododetiempo.Unaanualidadpuedeserunpréstamo(comoporejemplolahipotecadeuninmueble)ounainversión(comounplandeahorro

mensual).

Paratodoslosargumentos,elefectivoabonado(comodepósitosdeahorro)serepresentaconnúmerosnegativosyelrecibido(comochequesdedividendos)connúmerospositivos.

Ratesecalculaporiteración.Comenzandoporelvalordeguess,Raterealizauncálculocíclicohastaqueelresultadotieneunaprecisióndel0,00001porciento.Sidespuésde20intentosnopuedenencontrarunresultado,Ratefalla.Sisecomienzaporel10porcientoyRatefalla,pruebeconunvalordistintoparaguess.

Replace

(Función)

Descripción

Devuelveunacadenaenlaquesereemplazóunasubcadenaespecificadaconotrasubcadenaunnúmeroespecificadodeveces.

Sintaxis

Replace(expresión,encontrar,reemplazarCon[,inicio[,contar[,comparar]]])

LasintaxisdelafunciónReplaceconstadelossiguientesargumentosconnombre:

Parte Descripciónexpresión Requerido.Unaexpresióndecadenaquecontienela

subcadenaquereemplazar.encontrar Requerido.Lasubcadenaquesebusca.

reemplazarCon Requerido.Lasubcadenadesustitución.inicio Opcional.Laposicióndentrodelaexpresióndonde

seempezaráabuscarlasubcadena.Siseomite,sesuponequees1.

contar Opcional.Elnúmerodesustitucionesdesubcadenasqueserealizarán.Siseomite,elvalorpredeterminadoes–1,quesignificaquesehagantodaslassustitucionesposibles.

comparar Opcional.Elvalornúmericoqueindicalaclasedecomparaciónqueserealizarácuandoseevalúenlassubcadenas.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

Elargumentocompararpuedetenerlosvaloressiguientes:

Constante Valor DescripciónvbUseCompareOption –1 Realizarunacomparaciónutilizandoelvalor

delainstrucciónOptionCompare.vbBinaryCompare 0 Realizaunacomparaciónbinaria.vbTextCompare 1 Realizarunacomparaciónbasadaeneltexto.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realizaruna

comparaciónbasadaenlainformacióndesubasededatos.

Valoresderetorno

LafunciónReplacedevuelvelosvaloressiguientes:

Si Reemplazardevuelveexpresiónesdelongitudcero Unacadenadelongitudcero("").expresiónesNull Unerror.encontraresdelongitudcero Unacopiadeexpresión.

reemplazarConesdelongitudcero Unacopiadeexpresióncontodaslasaparicionesdeencontrarquitadas.

inicio>Len(expresión) Unacadenadelongitudcero.contares0 Unacopiadeexpresión.

Comentarios

ElvalorderetornodelafunciónReplaceesunacadenaconsustitucioneshechasquecomienzaenlaposiciónespecificadaporinicioyconcluyealfinaldelacadenaexpresión.Noesunacopiadelacadenaoriginaldesdeelinicioalfinal.

RGB(Función)

DevuelveunnúmeroenterotipoLongquerepresentaunvalordecolorRGB.

Sintaxis

RGB(red,green,blue)

LasintaxisdelafunciónRGBconstadelossiguientesargumentos:

Parte Descripciónred Obligatorio.tipoVariant(Integer).Númeroenelintervalode0-255,

ambosinclusive,querepresentaelcomponenterojodelcolor.green Obligatorio;tipoVariant(Integer).Númeroenelintervalode0-255,

ambosinclusive,querepresentaelcomponenteverdedelcolor.blue Obligatorio;tipoVariant(Integer).Númeroenelintervalode0-255,

ambosinclusive,querepresentaelcomponenteazuldelcolor.

Comentarios

LosmétodosdeaplicaciónylaspropiedadesqueaceptanunaespecificacióndecoloresperanqueéstaseaunnúmeroquerepresenteunvalordecolorRGB.UnvalordecolorRGBespecificalaintensidadrelativaderojo,verdeyazulquehacenquesemuestreuncolordeterminado.

ElvalordecualquierargumentoparalafunciónRGBqueseasuperiora255seconsiderarácomo255.

Lasiguientetablamuestraalgunoscoloresestándarysusvaloresderojo,verdeyazul:

Color Valorderojo Valordeverde ValordeazulNegro 0 0 0Azul 0 0 255Verde 0 255 0Cián 0 255 255Rojo 255 0 0Magenta 255 0 255Amarillo 255 255 0Blanco 255 255 255

LosvaloresdecolorRGBdevueltosporestafunciónsonincompatiblesconlosqueutilizaelsistemaoperativodeMacintosh.PuedenutilizarseenelcontextodelasaplicacionesdeMicrosoftparaMacintosh,peronosedebenutilizarcuandosecomunicancambiosdecolordirectamentealsistemaoperativosdeMacintosh.

Right(Función)

DevuelveuntipoVariant(String)quecontieneunnúmeroespecificadodecaracteresdelladoderechodeunacadena.

Sintaxis

Right(string,lenght)

LasintaxisdelafunciónRighttieneestosargumentosconnombre:

Parte Descripciónstring Requerido.Expresióndecadenadesdelacualsedevuelvenlos

caracteresqueestánmásaladerecha.SistringcontieneNull,sedevuelveNull.

lenght Requerido,untipoVariant(Long).Expresiónnuméricaqueindicacuántoscaracteressevanadevolver.Sies0,sedevuelveunacadenadelongitudcero("").Siesmayoroigualalnúmerodecaracteresenstring,sedevuelvelacadenacompleta.

Comentarios

Paradeterminarelnúmerodecaracteresenstring,utilicelafunciónLen.

NotaUtilicelafunciónRightBcondatosdebyteincluidosenunacadena.Enlugardeespecificarelnúmerodecaracteresparadevolver,longitudespecificaelnúmerodebytes.

Rnd(Función)

DevuelveuntipoSinglequecontieneunnúmeroaleatorio.

Sintaxis

Rnd[(número)]

ElargumentoopcionalnúmeroesuntipoSingleocualquierexpresiónnuméricaválida.

Valoresdevueltos

Sinúmeroes RndgeneraMenorquecero Elmismonúmerotodaslasveces,utilizandonúmerocomo

valordesemilla.Mayorquecero Elsiguientenúmeroaleatoriodelasecuencia.Igualacero Elnúmerogeneradomásrecientemente.Noseespecifica Elsiguientenúmeroaleatoriodelasecuencia.

Comentarios

LafunciónRnddevuelveunvalormenorque1peromayoroigualquecero.

ElvalordenúmerodeterminacómolafunciónRndgeneraunnúmeroaleatorio:

Paracualquiervalordesemillainicialsegeneralamismasecuenciadenúmeros.EstoesdebidoaquecadallamadasucesivaalafunciónRndusaráelnúmeroanteriorcomovalordesemillaparaelsiguientenúmerodelasecuencia.

AntesdellamaralafunciónRnd,utilicelainstrucciónRandomizesinargumentoparainicializarelgeneradordenúmerosaleatoriosconunvalordesemillabasadoenelrelojdelsistema.

Paraproducirenterosaleatoriosenunintervalodado,useestafórmula:

Int((Límite_superior-límite_inferior+1)*Rnd+límite_inferior)

Aquí,límite_superioreselnúmeromayordelintervaloylímite_inferioreselnúmeromenordelintervalo.

NotaPararepetirsecuenciasdenúmerosaleatorios,llamealafunciónRndconunargumentonegativoantesdeutilizarlafunciónRandomizeconunargumentonumérico.AlutilizarlainstrucciónRandomizeconelmismovalordenúmeronoserepitelasecuenciaanterior.

Round(Función)

Descripción

Devuelveunnúmeroredondeadoenelnúmeroespecificadodelugaresdecimales.

Sintaxis

Round(expresión[,númLugaresDecimales])

LasintaxisdelafunciónRoundconstadelassiguientespartes:

Parte Descripciónexpresión Requirido.Laexpresiónnuméricaqueseredondea.númLugaresDecimales Opcional.Unnúmeroqueindicacuántoslugaresala

derechadeldecimalseincluyenenelredondeo.Siseomite,lafunciónRounddevuelveenteros.

Second(Función)

DevuelveunvalordetipoVariant(Integer)queespecificaunnúmeroenteroentre0y59,inclusive,querepresentaunsegundo.

Sintaxis

Second(hora)

ElargumentohoraescualquiervalordetipoVariant,unaexpresiónnumérica,expresióndecadenaocualquiercombinación,quepuedarepresentarunahora.SihoracontieneNull,lafuncióndevolveráNull.

Seek(Función)

DevuelveuntipoLongqueespecificanlaposiciónactualdelecturaoescrituradeunarchivoabiertomediantelainstrucciónOpen.

Sintaxis

Seek(númeroarchivo)

ElargumentonecesarionúmeroarchivoescualquierIntegerquecontengaunnúmerodearchivoválido.

Comentarios

Seekdevuelveunvalorentre1y2.147.483.647(equivalentea2^31-1),ambosinclusive.

Lossiguientesvaloresdescribenelvalordevueltoparacadamododeaccesoaunarchivo.

Modo ValordevueltoRandom Númerodelsiguienteregistroqueseleeoescribe.Binary,Output,Append,Input

Posicióndebyteenlaquesellevaráacabolasiguienteoperación.Elprimerbytedeunarchivotienelaposición1,elsegundobytetienelaposición2yasísucesivamente.

Sgn

(Función)

DevuelveuntipoVariant(Integer)queindicaelsignodeunnúmero.

Sintaxis

Sgn(número)

Elargumentonúmeropuedesercualquierexpresiónnuméricaválida.

Valoresdevueltos

Sinúmeroes SgndevuelveMayorquecero 1Igualacero 0Menorquecero -1

Comentarios

ElsignodelargumentonúmerodeterminaelvalordevueltoporlafunciónSgn.

Shell(Función)

EjecutaunprogramaejecutableydevuelveuntipoVariant(Double)querepresentalaidentificacióndelatareadelprogramasisehaejecutadoconéxito,encasocontrariodevuelvecero.

Sintaxis

Shell(pathname[,windowstyle])

LasintaxisdelafunciónShelltieneestosargumentosconnombre:

Parte Descripciónpathname Requerido;Variant(String).Nombredelprogramaa

ejecutarydecualesquieraargumentosnecesariosomodificadordelalíneadecomandos;puedeincluirdirectorioocarpetayunidaddedisco.EnMacintosh,puedeutilizarlafunciónMacIDparaespecificarlafirmadeunaaplicaciónenlugardesunombre.ElsiguienteejemploutilizalafirmadeMicrosoftWord:ShellMacID("MSWD")

windowstyle Opcional.Variant(Integer)correspondientealestilodelaventanaenlacualsevaaejecutarelprograma.Siseomitewindowstyle,elprogramaseiniciaminimizadoconenfoque.EnMacintosh(sistema7.0oposterior),windowstylesólodeterminasilaaplicaciónrecibeelenfoquecuandoseejecuta.

Elargumentoconnombrewindowstyletieneestosvalores:

Constante Valor DescripciónvbHide 0 SeocultaWindowsysepasaelfocoala

ventanaoculta.LaconstantevbHidenoseaplicaaplataformasMacintosh.

vbNormalFocus 1 Windowsrecuperaelfocoyvuelveasuposiciónytamañooriginal.

vbMinimizedFocus 2 Windowssemuestracomouniconoconfoco.

vbMaximizedFocus 3 Windowssemaximizaconfoco.vbNormalNoFocus 4 Windowsvuelvealtamañoyposición

másrecientes.Laventanaactivaactualpermaneceactiva.

vbMinimizedNoFocus 6 Windowssemuestracomounicono.Laventanaactivaactualpermaneceactiva.

Comentarios

SilafunciónShellejecutaconéxitoelarchivonombrado,devuelvelaidentificacióndelatarea(Id)delprogramainiciado.LaIddelatareaesunnúmeroexclusivoqueidentificaelprogramaenejecución.SilafunciónShellnopuedeiniciarelprogramanombrado,ocurriráunerror.

EnMacintosh,vbNormalFocus,vbMinimizedFocusyvbMaximizedFocuscolocanlaaplicaciónenprimerplano;sinembargo,vbHide,vbNoFocus,vbMinimizeFocuslacolocanensegundoplano.

NotaDemanerapredeterminada,lafunciónShellejecutaotrosprogramasdeformaasíncrona.EstoquieredecirquenosepuedeesperarqueunprogramainiciadoconShellterminesuejecuciónantesdequeseejecutenlasinstruccionesquesiguenalafunciónShellenlaaplicación.

Sin(Función)

DevuelveuntipoDoublequeespecificaelsenodeunángulo.

Sintaxis

Sin(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválidaqueexpresaunánguloenradianes.

Comentarios

LafunciónSintomaunánguloydevuelvelarazóndedosladosdeuntriángulorectángulo.Larazóneslalongituddelladoopuestoalángulodivididoporlalongituddelahipotenusa.

Elresultadoentradentrodelintervalo-1a1.

Paraconvertirgradosenradianes,multipliquelosgradosporpi/180.Paraconvertirradianesengrados,multipliquelosradianespor180/pi.

SLN(Función)

DevuelveuntipoDoublequeindicaladepreciaciónlinealdeunbienduranteunúnicoperiodo.

Sintaxis

SLN(cost,salvage,life)

LafunciónSLNconstadelossiguientesargumentosconnombre:

Parte Descripción

cost Requerido.UntipoDoublequeindicaelcostoinicialdelbien.salvage Requerido.UntipoDoublequeindicaelvalordelbienaltérmino

desuvidaútil.life Requerido.UntipoDoublequeindicaladuracióndelavidaútil

delbien.

Comentarios

Elperiododedepreciaciónsedebeexpresarenlasmismasunidadesqueelargumentolife.Todoslosargumentosdebensernúmerospositivos.

Space(Función)

DevuelveuntipoVariant(String)queconsisteenunnúmeroespecificadodeespacios.

Sintaxis

Space(número)

Elargumentonúmeroeselnúmerodeespaciosquesedeseaincluirenlacadena.

Comentarios

LafunciónSpaceesútilparadarformatoalasalidayparaborrardatosencadenasdelongitudfija.

Spc(Función)

SeutilizaconlainstrucciónPrint#oelmétodoPrintparaalterarlaposicióndelasalida.

Sintaxis

Spc(n)

Elargumentoobligatorioneselnúmerodeespaciosquesevanainsertarantesdemostraroimprimirlasiguienteexpresióndeunalista.

Comentarios

Sinesmenorqueelanchodelalíneadesalida,lapróximaposicióndeimpresiónsigueinmediatamentealnúmerodeespaciosimpresos.Sinesmayorqueelanchodelalíneadesalida,Spccalculalasiguienteposicióndeimpresiónmediantelafórmula:

posiciónactualimpresión+(nModancho)

Porejemplo,silaposicióndeimpresiónactuales24,elanchodelalíneadesalidaesde80yespecificaSpc(90),laimpresiónsiguientecomienzaenlaposición34(laposicióndeimpresiónactual+elrestode90/80).Siladiferenciaentrelaposicióndeimpresiónactualyelanchodelalíneadesalidaesmenorquen(onModancho),lafunciónSpcvaalprincipiodelalíneasiguienteygeneraunnúmerodeespaciosigualan-(ancho-posiciónactualimpresión).

NotaAsegúresedequelascolumnastabularesseansuficientementeanchasparapodercolocarletrasanchas.

CuandoseutilizaelmétodoPrintconunafuentedeespacioproporcional,elanchodeloscaracteresdeespacioimpresosmediantelafunciónSpcessiempreunpromediodelanchodetodosloscaracteresconeltamañoenpuntosdelafuenteelegida.Sinembargo,nohayningunacorrelaciónentreelnúmerodecaracteresimpresosyelnúmerodecolumnasdeanchofijoqueestoscaracteresocupan.Porejemplo,laletraWmayúsculaocupamásdeunacolumnadeanchofijoylaletraIminúsculaocupamenos.

Split(Función)

Descripción

Devuelveunamatrizdeunadimensión,basadaenceros,quecontieneunnúmeroespecificadodesubcadenas.

Sintaxis

Split(expresión[,delimitador[,contar[,comparar]]])

LasintaxisdelafunciónSplitconstadelossiguientesargumentosconnombre:

Parte Descripciónexpresión Requerido.Unaexpresióndecadenaquecontiene

subcadenasydelimitadores.Siexpresiónesunacadenadelongitudcero(""),Splitdevuelveunamatrizvacía,esdecir,unamatrizsinelementosysindatos.

delimitador Opcional.Elcarácterdelacadenautilizadoparaidentificarloslímitesdelasubcadena.Siseomite,sesuponequeelcarácterdeespacio("")eseldelimitador.Sieldelimitadoresunacadenadelongitudcero,sedevuelveunamatrizdeunúnicoelementoquecontienelacadenaexpresiónentera.

contar Opcional.Elnúmerodesubcadenasquesedevolverán;–1indicaquesedevuelventodaslassubcadenas.

comparar Opcional.Unvalornúmericoqueindicalaclasedecomparaciónqueserealizarácuandoseevalúenlassubcadenas.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

Elargumentocompararpuedetenerlosvaloressiguientes:

Constante Valor DescripciónvbUseCompareOption –1 Realizarunacomparaciónutilizandoelvalor

delainstrucciónOptionCompare.vbBinaryCompare 0 Realizarunacomparaciónbinaria.vbTextCompare 1 Realizarunacomparaciónbasadaeneltexto.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realizaruna

comparaciónbasadaenlainformacióndesubasededatos.

Sqr(Función)

DevuelveuntipoDoublequeespecificalaraízcuadradadeunnúmero.

Sintaxis

Sqr(número)

ElnúmeroargumentoesuntipoDoubleocualquierexpresiónnuméricaválidamayoroigualacero.

Str(Función)

DevuelveenuntipoVariant(String)larepresentacióndecadenadeunnúmero.

Sintaxis

Str(número)

ElargumentonúmeronecesarioesuntipoLongquecontieneunaexpresiónnuméricaválida.

Comentarios

Cuandolosnúmerosseconviertenacadenas,siempresereservaunespacioalaizquierdaparaelsignodelnúmero.Sinúmeroespositivo,lacadenadevueltacontieneunespacioalaizquierdayelsignomássedaporsupuesto.

UtilicelafunciónFormatparaconvertirvaloresnuméricosenvaloresconformatodefecha,hora,monedaoenotrosformatosdefinidosporelusuario.AdiferenciadeStr,lafunciónFormatnoincluyeunespacioalaizquierdaparaelsignodelnúmero.

NotaLafunciónStrsóloreconoceelpunto(.)comoseparadordecimalválido.Cuandoexistalaposibilidaddequesepuedautilizarunseparadordecimaldiferente(porejemplo,enaplicacionesinternacionales),sedebeutilizarCStrparaconvertirunnúmeroaunacadena.

StrComp(Función)

DevuelveuntipoVariant(Integer)queindicaelresultadodeunacomparacióndecadena.

Sintaxis

StrComp(string1,string2[,compare])

LasintaxisdelafunciónStrComptieneestosargumentosconnombre:

Parte Descripciónstring1 Requerido.Cualquierexpresióndecadenaválida.string2 Requerido.Cualquierexpresióndecadenaválida.compare Opcional.Especificaeltipodecomparacióndecadena.Siel

argumentocompareesnuloelvalordeOptionComparedeterminaeltipodecomparación.

Valores

Losvaloresdelainstruccióncomparesonlossiguientes:

Constante Valor DescripciónvbUseCompareOption -1 Realizaunacomparaciónconlos

valoresdelainstrucciónOptionCompare.

vbBinaryCompare 0 Realizaunacomparaciónbinaria.vbTextCompare 1 Realizaunacomparacióntextual.vbDatabaseCompare 2 SóloparaMicrosoftAccess.Realiza

unacomparaciónbasadaenlainformaciónenlasbasesdedatos.

Valoresdevueltos

LafunciónStrCompdevuelvelossiguientesvalores:

Si LafunciónStrCompdevuelvestring1esmenorquestring2 -1string1esigualastring2 0string1esmayorquestring2 1

string1ostring2esNull Null

StrConv(Función)

DevuelveuntipoVariant(String)queseconviertecomoseespecifica.

Sintaxis

StrConv(string,conversion,LCID)

LasintaxisdelafunciónStrConvtieneestosargumentosconnombre:

Parte Descripciónstring Requerido.Expresióndecadenaquesevaaconvertir.Conversion Requerido.UntipoInteger.Lasumadelosvaloresque

especificaeltipodeconversiónquesevaarealizar.LCID Opcional.LaLocaleID,siesdiferentedelaLocaleIDdel

sistema.(LaLocaleIDdelsistemaeslapredeterminada.)

Valores

Losvaloresdelargumentoconversionson:

Constante Valor DescripciónvbUpperCase 1 Conviertelacadenaacaracteresenmayúscula.vbLowerCase 2 Conviertelacadenaacaracteresenminúscula.vbProperCase 3 Convierteamayúsculalaprimeraletradecada

palabradelacadena.vbWide* 4* Convierteloscaracterescortos(unúnicobyte)de

lacadenaacaracteresanchos(doblebyte).vbNarrow* 8* Convierteloscaracteresanchos(doblebyte)dela

cadenaacaracterescortos(unúnicobyte).vbKatakana** 16** ConvierteloscaracteresHiraganadelacadenaa

caracteresKatakana.vbHiragana** 32** ConvierteloscaracteresKatakanadelacadenaa

caracteresHiragana.vbUnicode 64 ConviertelacadenaaUnicodeutilizandola

páginadecódigospredeterminadadelsistema.(NodisponibleenMacintosh.)

vbFromUnicode 128 ConviertelacadenadeUnicodealapáginadecódigospredeterminadadelsistema.(NodisponibleenMacintosh.)

*SeaplicaalasconfiguracionesregionalesdelLejanoOriente.

**SeaplicasolamenteaJapón.

NotaEstasconstantesestánespecificadasporVisualBasicforApplications.Comoresultado,sepuedenutilizarencualquierpartedesucódigoenlugardelosvaloresreales.Lamayoríasepuedencombinar,porejemplo,vbUpperCase+vbWide,exceptocuandoseexcluyenmutuamente,porejemplo,vbUnicode+vbFromUnicode.LasconstantesvbWide,vbNarrow,vbKatakanayvbHiraganaoriginanerroresentiempodeejecucióncuandoutilizanconfiguracionesregionalesdondenoseaplican.

Lossiguientessonseparadoresdepalabrasválidosparamayúsculas/minúsculas:Null(Chr$(0)),tabuladorhorizontal(Chr$(9)),avancedelínea(Chr$(10)),tabuladorvertical(Chr$(11)),avancedepágina(Chr$(12)),retornodecarro(Chr$(13)),espacio(SBCS)(Chr$(32)).ElvalorrealdeespaciovaríaporelpaísparaDBCS.

Comentarios

CuandoseconvierteunacadenadematrizByteaformatoANSI,sedebeutilizarlafunciónStrConv.CuandoseconvierteunamatrizenformatoUnicode,utiliceunainstruccióndeasignación.

StrReverse(Función)

Descripción

Devuelveunacadenaenlaqueseinvierteelordendecarácterdeunacadenaespecificada.

Sintaxis

StrReverse(cadena1)

Elargumentocadena1eslacadenacuyoscaracteresseinvierten.Sicadena1esunacadenadelongitudcero(""),sedevuelveunacadenadelongitudcero.SiesNull,seproduceunerror.

String(Función)

DevuelveuntipoVariant(String)quecontieneunacadenadecaracteresqueserepitedelalongitudespecificada.

Sintaxis

String(number,character)

LasintaxisdelafunciónStringtieneestosargumentosconnombre:

Parte Descripciónnumber Requerido;untipoLong.Longituddelacadenadevuelta.Si

númerocontieneNull,sedevuelveNull.character Requerido;untipoVariant.Códigodecarácterqueespecificael

carácterolaexpresióndecadenacuyoprimercarácterseutilizaparaconstruirlacadenadevuelta.SicharactercontieneNull,sedevuelveNull.

Comentarios

Siseespecificaparacharacterunnúmeromayorque255,Stringconvierteelnúmeroenuncódigodecarácterválidoutilizandolafórmula:

characterMod256

Switch(Función)

EvalúaunalistadeexpresionesydevuelveunvalorVariantounaexpresiónasociadaalaprimerainstruccióndelalistaquedacomoresultadoTrue.

Sintaxis

Switch(expresión-1,valor-1[,expresión-2,valor-2…[,expresión-n,valor-n]])

LasintaxisdelafunciónSwitchconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.ExpresióndeltipoVariantquesedeseaevaluar.valor Requerido.Valoroexpresiónquesedevuelvesila

expresióncorrespondientedacomoresultadoTrue.

Comentarios

LalistadeargumentosdelafunciónSwichtestáformadaporparesdeexpresionesyvalores.Lasexpresionesseevalúansegúnaparecenenlalista,deizquierdaaderechaysedevuelveelvalorasociadoalaprimeraexpresiónquealevaluarsedaTrue.Silaspartesnoestánemparejadascorrectamente,seproduciráunerrorentiempodeejecución.Porejemplo,siexpresión-1daTrue,Switchdevolverávalor-1.Siexpresión-1daFalse,peroexpresión-2daTrue,Switchdevolverávalor-2yasísucesivamente.

SwitchdevolveráunvalorNullsi:

NingunadelasexpresionesdaTrue.

LaprimeraexpresiónquedaTruetieneasociadounvalorNull.

Switchevalúatodaslasexpresiones,aunquesolamentedevuelveunadeellas.Porestarazón,deberávigilarquenoseproduzcanefectosnodeseados.Porejemplo,sienlaevaluacióndeunaexpresiónhayunadivisiónporcero,seproduciráunerror.

SYD(Función)

DevuelveuntipoDoublequeindicaladepreciacióndeunbienendígitosdesumadeañosduranteunperiodoespecificado.

Sintaxis

SYD(cost,salvage,life,period))

LafunciónSYDconstadelossiguientesargumentosconnombre:

Parte Descripción

cost Requerido.UntipoDoublequeindicaelcostoinicialdelbien.salvage Requerido.UntipoDoublequeindicaelvalordelbienaltérmino

desuvidaútil.life Requerido.UntipoDoublequeindicaladuracióndelavidaútil

delbien.period Requerido.UntipoDoublequeindicaelperiodoparaelquese

calculaladepreciacióndelbien.

Comentarios

Losargumentoslifeyperioddebenexpresarseenlasmismasunidades.Porejemplo,silifeseindicaenmeses,periodtambiéndebeespecificarseenmeses.Todoslosargumentosdebensernúmerospositivos.

Tab(Función)

SeutilizaconlainstrucciónPrint#oelmétodoPrintparadefinirlaposicióndelasalida.

Sintaxis

Tab[(n)]

Elargumentoopcionalneselnúmerodelacolumnaquesemueveantesdemostraroimprimirlapróximaexpresióndeunalista.Siseomite,Tabcolocael

puntodeinserciónalprincipiodelasiguientezonadeimpresión.EstopermiteutilizarTabenlugardeunpuntoenlasconfiguracionesregionalesenlasqueseutilizaelpuntocomoseparadordecimal.

Comentarios

Silaposicióndeimpresiónactualesmayorquen,Tabvahastalacolumnandelasiguientelíneadelasalida.Sinesmenorque1,Tabcolocalaposicióndeimpresiónenlacolumna1.Sinesmayorqueelanchodelalíneadesalida,Tabcalculalasiguienteposicióndeimpresiónconlafórmula:

nModancho

Porejemplo,sianchoes80yespecificaTab(90),laimpresiónsiguientecomienzaenlacolumna10(elrestodelaoperación90/80).Sinesmenorquelaposicióndeimpresiónactual,laimpresióncomienzaenlalíneasiguiente,enlaposicióndeimpresióncalculada.Silaposicióndeimpresióncalculadaesmayorquelaposicióndeimpresiónactual,laimpresióncomienzaenlaposicióndeimpresióncalculadaenlamismalínea.

Laposicióndeimpresiónenelextremoizquierdodeunalíneadesalidaessiempre1.CuandoseutilizalainstrucciónPrint#paraimprimirenarchivos,laposicióndeimpresiónenelextremoderechoeselanchoactualdelarchivodesalida,quepuedeasignarconlainstrucciónWidth#.

NotaAsegúresedequelascolumnastabularesseansuficientementeanchasparadarcabidaaletrasanchas.

CuandoutilicelafunciónTabconelmétodoPrint,lasuperficiedeimpresiónsedividiráencolumnasuniformesdeanchofijo.Elanchodecadacolumnaeselpromediodelanchodetodosloscaracteresconeltamañoenpuntosdelafuenteelegida.Sinembargo,nohayningunacorrelaciónentreelnúmerodecaracteresimpresosyelnúmerodecolumnasdeanchofijoqueestoscaracteresocupan;porejemplo,laletraWmayúsculaocupamásdeunacolumnadeanchofijoylaletraiminúsculaocupamenos.

Tan(Función)

DevuelveuntipoDoublequeespecificalatangentedeunángulo.

Sintaxis

Tan(número)

ElargumentonúmeroesuntipoDoubleocualquierexpresiónnuméricaválidaqueexpresaunánguloenradianes.

Comentarios

LafunciónTantomaunánguloydevuelvelarazóndedosladosdeuntriángulorectángulo.Larazóneslalongituddelladoopuestoalángulo,divididaporlalongituddelladoadyacentealángulo.

Paraconvertirgradosenradianes,multipliquelosgradosporpi/180.Paraconvertirradianesengrados,multipliquelosradianespor180/pi.

Time(Función)

DevuelveunvalordetipoVariant(Date)indicandolahoraactualdelsistema.

Sintaxis

Time

Comentarios

UselainstrucciónTimeparaestablecerlahoradelsistema.

Timer(Función)

DevuelveuntipoSinglequerepresentaelnúmerodesegundostranscurridosdesdelamedianoche.

Sintaxis

Timer

Comentarios

EnMicrosoftWindowslafunciónTimerdevuelvepartesfraccionalesdeunsegundo.EnMacintosh,laresolucióndeltemporizadoresunsegundo.

TimeSerial(Función)

DevuelveuntipoVariant(Date)quecontienelahoraactualparaunahora,minutoysegundoespecíficos.

Sintaxis

TimeSerial(hora,minuto,segundo)

LasintaxisdelafunciónTimeSerialconstadelossiguientesargumentosconnombre:

Parte Descripciónhora Requerido;Variant(Integer).Númeroentre0(12:00a.m.)y23

(11:00p.m.),inclusiveounaexpresiónnumérica.minuto Requerido;Variant(Integer).Cualquierexpresiónnumérica.segundo Requerido;Variant(Integer).Cualquierexpresiónnumérica.

Comentarios

Paraespecificarunahora,como11:59:59,elintervalodenúmerosparacadaargumentodeTimeSerialdeberíaestarenelintervalonormalmenteaceptadoparalaunidad;esdecir,0–23parahorasy0–59paraminutosysegundos.Sinembargo,puedeespecificarhorasrelativasparacadaargumento,usandocualquierexpresiónnuméricaquerepresentealgunashoras,minutososegundosantesodespuésdeciertahora.Elejemplosiguienteusaexpresionesenlugardenúmerosdehoraabsoluta.LafunciónTimeSerialdevuelveunahoraquees15(-15)minutosmenosqueseishorasantesdelmediodía(12-6),ó5:45:00a.m.

TimeSerial(12-6,-15,0)

Cuandoalgúnargumentosuperaelintervalonormalmenteaceptadoparaél,seincrementahastalasiguienteunidadmayor.Porejemplo,siespecifica75minutos,seevalúacomounahoray15minutos.Noobstante,siunsoloargumentoestáfueradelintervalo-32.768a32.767osilahoraespecificadaporlostresargumentos,directamenteomedianteexpresión,hacequelafechaquedefueradelintervaloaceptabledevalores,seproduceunerror.

TimeValue(Función)

DevuelveuntipoVariant(Date)quecontienelahora.

Sintaxis

TimeValue(hora)

Elargumentohoraesnormalmenteunaexpresióndecadenaquerepresentaunahoradesdelas0:00:00(12:00:00a.m.)alas23:59:59(11:59:59p.m.),inclusive.Sinembargo,horatambiénpuedesercualquierexpresiónquepuedarepresentar

unahoraeneseintervalo.SihoracontieneNull,lafuncióndevolveráNull.

Comentarios

Puedeintroducirhorasválidasusandounrelojde12horasode24horas.Porejemplo,"2:24p.m."y"14:24"sonargumentosválidosdehora.

Sielargumentohoracontieneinformacióndefecha,TimeValuenodevuelveestainformación.Sinembargo,sihoraincluyeinformaciónnoválidadefecha,ocurriráunerror.

TypeName(Función)

Devuelveunacadena(String)queproporcionainformaciónacercadeunavariable.

Sintaxis

TypeName(nombrevariable)

Elargumentonombrevariablerequerido,esuntipodedatosVariantquecontienecualquiervariableexceptounavariabledeuntipodefinidoporelusuario.

Comentarios

LacadenadevueltaporlafunciónTypeNamepuedesercualquieradelassiguientes:

Cadenadevuelta Lavariablecontienetipodeobjeto UnobjetocuyotipoestipoobjetoByte UnvalorbyteInteger UnenteroLong UnenterolargoSingle UnnúmerodepuntoflotantedeprecisiónsimpleDouble UnnúmerodepuntoflotantedeprecisióndobleCurrency Unvalordemoneda

Decimal UnvalordecimalDate UnvalorfechaString UnacadenaBoolean UnvalorbooleanoError UnvalordeerrorEmpty NoinicializadoNull DatosnoválidosObject UnobjetoDesconocido UnobjetocuyotipoesdesconocidoNothing Unavariabledequenohacereferenciaaun

objeto

Sinombrevariableesunamatriz,lacadenadevueltapuedesercualquieradelasposibles(oVariant)conunparéntesisvacíoañadido.Porejemplo,sinombrevariableesunamatrizdenúmerosenteros,lafunciónTypeNamedevuelve"Integer()".

UBound(Función)

DevuelveuntipoLongquecontieneelmayorsubíndicedisponibleparaladimensiónindicadadeunamatriz.

Sintaxis

UBound(nombre_matriz[,dimensión])

LasintaxisdelafunciónUBoundconstadelassiguientespartes:

Parte Descripción

nombre_matriz

Requerido.Nombredelavariabledematriz;siguelasconvencionesestándardenombresdevariable.

dimensión Opcional;Variant(Long).Númeroenteroqueindicaladimensióncuyolímitesuperiorsedevolverá.Use1paralaprimeradimensión,2paralasegundayasísucesivamente.Sidimensiónseomite,sesuponequees1.

Comentarios

LafunciónUBoundseutilizajuntoconlafunciónLBoundparadeterminareltamañodeunamatriz.UselafunciónLBoundparaencontrarellímiteinferiordeladimensióndeunamatriz.

UBounddevuelvelosvaloresenumeradosenlatablasiguienteparaunamatrizconlasdimensionessiguientes:

DimA(1To100,0To3,-3To4)

Instrucción ValordevueltoUBound(A,1) 100UBound(A,2) 3UBound(A,3) 4

UCase(Función)

DevuelveuntipoVariant(String)quecontieneunacadenaespecificadaquesehaconvertidoamayúsculas.

Sintaxis

UCase(cadena)

Elargumentocadenanecesarioescualquierexpresióndecadenaválida.SicadenacontieneNull,sedevuelveNull.

Comentarios

Sóloseconviertenamayúsculaslasletrasminúsculas.Lasletrasmayúsculasoloscaracteresquenosonletrasnosufrencambios.

Val(Función)

Devuelvelosnúmeroscontenidosenunacadenacomounvalornuméricodeltipoadecuado.

Sintaxis

Val(cadena)

Elargumentoobligatoriocadenaescualquierexpresióndecadenaválida.

Comentarios

LafunciónValdejadeleerlacadenaenelprimercarácterquenopuedereconocercomopartedeunnúmero.Lossímbolosycaracteresqueseconsideranamenudopartedevaloresnuméricos,comosignosdemonedaycomas,nosereconocen.Sinembargo,lafunciónreconocelosprefijosdebase&O(paraoctal)y&H(parahexadecimal).Losespaciosenblanco,lostabuladores

ylosavancesdelíneaseeliminandelargumento.

Losiguientedevuelveelvalor1615198:

Val("1615198CalleN.E.")

Enelcódigoquesemuestraacontinuación,Valdevuelveelvalordecimal-1correspondientealvalorhexadecimalentreparéntesis:

Val("&HFFFF")

NotaLafunciónValsóloreconoceelpunto(.)comoseparadordecimalválido.Cuandoseutilizanseparadoresdecimalesdiferentes,comoenaplicacionesinternacionales,debeutilizarCDblparaconvertirunacadenaaunnúmero.

VarType(Función)

Devuelveunentero(Integer)queindicaelsubtipodeunavariable.

Sintaxis

VarType(nombrevariable)

Elargumentonombrevariablerequerido,esuntipoVariantquecontienecualquiervariableexceptounavariabledeuntipodefinidoporelusuario.

Valoresdevueltos

Constante Valor DescripciónvbEmpty 0 Empty(noinicializado)vbNull 1 Null(datosnoválidos)vbInteger 2 EnterovbLong 3 EnterolargovbSingle 4 Unnúmerodecomaflotantedeprecisión

simplevbDouble 5 Unnúmerodecomaflotantedeprecisión

doblevbCurrency 6 ValordemonedavbDate 7 ValordefechavbString 8 Cadena

vbObject 9 ObjetovbError 10 ValordeerrorvbBoolean 11 ValorbooleanovbVariant 12 Variant(utilizadasolamenteconmatricesde

variantes)vbDataObject 13 UnobjetodeaccesoadatosvbDecimal 14 ValordecimalvbByte 17 ValordebytevbUserDefinedType 36 Variantesquecontienentiposdefinidosporel

usuariovbArray 8192 Matriz

NotaEstasconstantesestánespecificadasporVisualBasicparaaplicaciones.Losnombressepuedeutilizarencualquierposiciónensucódigoenlugardelosvaloresactuales.

Comentarios

LafunciónVarTypenuncadevuelveporsímismaelvalorparavbArray.Siempreseagregaaalgúnotrovalorparaindicarunamatrizdeuntipoparticular.LaconstantevbVariantsolamentesedevuelvejuntoconvbArrayparaindicarqueelargumentodelafunciónVarTypeesunamatrizdeltipoVariant.Porejemplo,elvalordevueltoporunamatrizdeenterossecalculacomovbInteger+vbArray,o8194.Siunobjetotieneunapropiedadpredeterminada,VarType(objeto)devuelveeltipodelapropiedadpredeterminadadelobjeto.

Weekday(Función)

DevuelveunvalordetipoVariant(Integer)quecontieneunnúmeroenteroquerepresentaeldíadelasemana.

Sintaxis

Weekday(fecha,[primerdíasemana])

LasintaxisdelafunciónWeekdayconstadelossiguientesargumentosconnombre:

Parte Descripciónfecha Requerido.Variant,expresiónnumérica,expresiónde

cadenaocualquiercombinaciónquepuederepresentarunafecha.SifechacontieneNull,lafuncióndevolveráNull.

primerdíasemana Opcional.Unaconstantequeespecificaelprimerdíadelasemana.Sinoseespecifica,seasumeelvalorvbSunday.

Valores

Elargumentoprimerdíasemanatieneestosvalores:

Constante Valor DescripciónvbUseSystem 0 Utiliceconfiguracióndela

APIdeNLS.vbSunday 1 Domingo

(predeterminado)vbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Valoresdevueltos

LafunciónWeekdaypuededevolvercualquieradeestosvalores:

Constante Valor DescripciónvbSunday 1 DomingovbMonday 2 LunesvbTuesday 3 MartesvbWednesday 4 MiércolesvbThursday 5 JuevesvbFriday 6 ViernesvbSaturday 7 Sábado

Comentarios

SilaconfiguracióndelapropiedadCalendaresgregoriano,elenterodevueltorepresentaeldíadelasemanagregorianoparaelargumentofecha.SielcalendarioesHijri,elenterodevueltorepresentaeldíaHijridelasemanaparaelargumentofecha.ParafechasHijri,elnúmerodeargumentoescualquierexpresiónnuméricaquepuedarepresentarunafechay/uhoradesde1/1/100(gregoriano2deagostode1718)a4/3/9666(gregoriano31dediciembredel9999).

WeekdayName(Función)

Descripción

Devuelveunacadenaqueindicaeldíadelasemanaespecificado.

Sintaxis

WeekdayName(díaDeLaSemana,abreviar,primerDíaDeLaSemana)

LasintaxisdelafunciónWeekdayNameconstadelassiguientespartes:

Parte DescripcióndíaDeLaSemana Requerido.Ladesignaciónnuméricaparaeldíadela

semana.ElvalornuméricodecadadíadependedelaconfiguracióndelvalorprimerDíaDeLaSemana.

abreviar Opcional.UnvalorBooleanqueindicasiseabreviaelnombredeldíadelasemana.Siseomite,elvalorpredeterminadoesFalse,quesignificaqueelnombredeldíadelasemananoseabrevia.

primerDíaDeLaSemana Opcional.Unvalornuméricoqueindicaelprimerdíadelasemana.VealasecciónValoresparaconsultarlosvaloresposibles.

Valores

ElargumentoprimerDíaDeLaSemanapuedetenerlosvaloressiguientes:

Constante Valor DescripciónvbUseSystem 0 UtilizarlaconfiguracióndelaAPINational

LanguageSupport(NLS).vbSunday 1 Domingo(predeterminado).vbMonday 2 Lunes.vbTuesday 3 Martes.vbWednesday 4 Miércoles.vbThursday 5 Jueves.vbFriday 6 Viernes.vbSaturday 7 Sábado.

Year(Función)

DevuelveunvalordetipoVariant(Integer)quecontieneunnúmeroenteroquerepresentaelaño.

Sintaxis

Year(fecha)

ElargumentofechaescualquiervalordetipoVariant,expresiónnumérica,expresióndecadenaocualquiercombinaciónquepuederepresentarunafecha.SifechacontieneNull,lafuncióndevolveráNull.

NotaSilaconfiguracióndelapropiedadCalendaresgregoriano,elenterodevueltorepresentaeldíadelasemanagregorianoparaelargumentofecha.SielcalendarioesHijri,elenterodevueltorepresentaeldíaHijridelasemanaparaelargumentofecha.ParafechasHijri,elnúmerodeargumentoescualquierexpresiónnuméricaquepuedarepresentarunafechay/uhoradesde1/1/100(gregoriano2deagostode1718)a4/3/9666(gregoriano31dediciembredel9999).

Funcionesdeconversión

Asc(Función)

CBool(Función)

CByte(Función)

CCur(Función)

CDate(Función)

CDec(Función)

CDbl(Función)

Chr(Función)

CInt(Función)

CLng(Función)

CSng(Función)

CStr(Función)

CVar(Función)

CVErr(Función)

Format(Función)

Hex(Función)

Oct(Función)

Str(Función)

Val(Función)

Funcionesmatemáticas

Abs(Función)

Atn(Función)

Cos(Función)

Exp(Función)

Fix(Función)

Int(Función)

Log(Función)

Rnd(Función)

Sgn(Función)

Sin(Función)

Sqr(Función)

Tan(Función)

Funcionesmatemáticasderivadas

Funcionesmatemáticasderivadas

Lasiguienteesunalistadefuncionesmatemáticasnointrínsecasquepuedenderivarsedefuncionesmatemáticasintrínsecas:

Función DerivadasequivalentesSecante Sec(X)=1/Cos(X)Cosecante Cosec(X)=1/Sin(X)Cotangente Cotan(X)=1/Tan(X)Senoinverso Arcsin(X)=Atn(X/Sqr(-X*X+1))Cosenoinverso Arccos(X)=Atn(-X/Sqr(-X*X+1))+2*Atn(1)Secanteinversa Arcsec(X)=Atn(X/Sqr(X*X–1))+Sgn((X)–1)

*(2*Atn(1))Cosecanteinversa Arccosec(X)=Atn(X/Sqr(X*X–1))+(Sgn(X)–

1)*(2*Atn(1))Cotangenteinversa Arccotan(X)=Atn(X)+2*Atn(1)Senohiperbólico HSin(X)=(Exp(X)–Exp(–X))/2Cosenohiperbólico HCos(X)=(Exp(X)+Exp(–X))/2Tangentehiperbólica HTan(X)=(Exp(X)–Exp(–X))/(Exp(X)+Exp(–

X))Secantehiperbólica HSec(X)=2/(Exp(X)+Exp(–X))Cosecantehiperbólica HCosec(X)=2/(Exp(X)–Exp(–X))Cotangentehiperbólica HCotan(X)=(Exp(X)+Exp(–X))/(Exp(X)–

Exp(–X))Senohiperbólicoinverso HArcsin(X)=Log(X+Sqr(X*X+1))Cosenohiperbólicoinverso

HArccos(X)=Log(X+Sqr(X*X–1))

Tangentehiperbólicainversa

HArctan(X)=Log((1+X)/(1–X))/2

Secantehiperbólicainversa

HArcsec(X)=Log((Sqr(–X*X+1)+1)/X)

Cosecantehiperbólicainversa

HArccosec(X)=Log((Sgn(X)*Sqr(X*X+1)+1)/X)

Cotangentehiperbólicainversa

HArccotan(X)=Log((X+1)/(X–1))/2

LogaritmoenbaseN LogN(X)=Log(X)/Log(N)

Operadoresaritméticos

^(operador)

*(operador)

/(operador)

\(operador)

Mod(operador)

+(operador)

-(operador)

Operadoresdeconcatenación

&(operador)

+(operador)

Operadoreslógicos

And(operador)

Eqv(operador)

Imp(operador)

Not(operador)

Or(operador)

Xor(operador)

Prioridaddelosoperadores

Cuandohayvariasoperacionesenunamismaexpresión,cadapartedelamismaseevalúayseresuelveenunordenpredeterminadosegúnlaprioridaddelosoperadores.

Cuandohayexpresionesquecontienenoperadoresdemásdeunacategoría,seresuelvenanteslasquetienenoperadoresaritméticos,acontinuaciónlasquetienenoperadoresdecomparaciónyporúltimolasdeoperadoreslógicos.Losoperadoresdecomparacióntienentodoslamismaprioridad;esdecir,seevalúandeizquierdaaderecha,enelordenenqueaparecen.Losoperadoreslógicosyaritméticosseevalúanenelsiguienteordendeprioridad:

Aritméticos Comparación LógicosExponenciación(^) Igualdad(=) NotNegación(–) Desigualdad(<>) AndMultiplicacióny Menorque(<) Or

división(*,/)Divisióndeenteros(\)

Mayorque(>) Xor

Móduloaritmético(Mod)

Menoroigualque(<=)

Eqv

Adiciónysubstracción(+,–)

Mayoroigualque(>=)

Imp

Concatenacióndecadenas(&)

LikeIs

Cuandohaymultiplicaciónydivisiónenlamismaexpresión,cadaoperaciónseevalúaamedidaqueaparece,deizquierdaaderecha.Delmismomodo,cuandosepresentanadicionesysubstraccionesenunamismaexpresión,cadaoperaciónseevalúatalcomoaparecendeizquierdaaderecha.Esposibleusarparéntesisparasaltarelordendepreferenciayforzarquealgunaspartesdeunaexpresiónseevalúenantesqueotras.Lasoperacionesentreparéntesisserealizanantesquelasdefuera.Sinembargo,dentrodelosparéntesis,laprecedenciadelosoperadoressemantiene.

Eloperadordeconcatenacióndecadenas(&)noesrealmenteunoperadoraritmético,peroenordendeprioridadseencuentraacontinuacióndetodoslosoperadoresaritméticosyantesquetodoslosoperadoresdecomparación.

EloperadorLike,apesardetenerlamismaprioridadquelosoperadoresdecomparación,esenrealidadunoperadordecoincidenciadepatrones.

EloperadorIsesunoperadordecomparacióndereferenciadeobjetos.Nocomparaobjetosnivaloresdeobjetos;sólodeterminasidosreferenciasdeobjetoserefierenalmismoobjeto.

Resumendelosoperadores

Operadores DescripciónOperadoresaritméticos

Operadoresutilizadosparaejecutarcálculosmatemáticos.

Operadoresdecomparación

Operadoresutilizadosparaefectuarcomparaciones.

Operadoresdeconcatenación

Operadoresutilizadosparacombinarcadenasdecaracteres.

Operadoreslógicos

Operadoresusadospararealizaroperacioneslógicas.

Resumendetiposdedatos

Latablasiguientemuestralostiposdedatoscompatibles,incluyendoeltamañodealmacenamientoyelintervalo.

TipodedatosTamañodealmacenamiento Intervalo

Byte 1byte 0a255Boolean 2bytes TrueoFalseInteger 2bytes -32,768a32,767Long(enterolargo)

4bytes -2,147,483,648a2,147,483,647

Single(comaflotante/precisiónsimple)

4bytes -3,402823E38a–1,401298E-45paravaloresnegativos;1,401298E-45a3,402823E38paravalorespositivos

Double(comaflotante/precisióndoble)

8bytes -1.79769313486231E308a-4,94065645841247E-324paravaloresnegativos;4,94065645841247E-324a1,79769313486232E308paravalorespositivos

Currency 8bytes -922.337.203.685.477,5808a

(enteroaescala)

922.337.203.685.477,5807

Decimal 14bytes +/-79.228.162.514.264.337.593.543.950.335sinpuntodecimal;+/-7,9228162514264337593543950335con28posicionesaladerechadelsignodecimal;elnúmeromáspequeñodistintodeceroes+/-0,0000000000000000000000000001

Date 8bytes 1deenerode100a31dediciembrede9999Object 4bytes CualquierreferenciaatipoObjectString(longitudvariable)

10bytes+longituddelacadena

Desde0a2.000millones

String(longitudfija)

Longituddelacadena

Desde1a65.400aproximadamente

Variant(connúmeros)

16bytes CualquiervalornuméricohastaelintervalodeuntipoDouble

Variant(concaracteres)

22bytes+longituddelacadena

ElmismointervaloqueparauntipoStringdelongitudvariable

Definidoporelusuario(utilizandoType)

Númerorequeridoporloselementos

Elintervalodecadaelementoeselmismoqueelintervalodesutipodedatos.

NotaLasmatricesdecualquiertipodedatosrequieren20bytesdememoriamáscuatrobytesparacadadimensióndematriz,máselnúmerodebytesqueocupanlospropiosdatos.Puedecalcularlamemoriaqueocupanlosdatosmultiplicandoelnúmerodeelementosdedatosporeltamañodecadaelemento.Porejemplo,losdatosdeunamatrizunidimensionalqueconstendecuatroelementosdedatostipoIntegerdedosbytescadauno,ocupanochobytes.Losochobytesquerequierenlosdatosmáslos24bytesnecesariosparalamatrizsumanunrequisitototaldememoriade32bytesparadichamatriz.

UntipoVariantquecontieneunamatizrequiere12bytesmásquelamatrizporsísola.

NoteUsetheStrConvfunctiontoconvertonetypeofstringdatatoanother.

Conversión,resumendepalabrasclave

Acción PalabrasclaveValorANSIacadena. ChrCadenaaminúsculasoamayúsculas.

Format,LCase,UCase

Fechaanúmerodeserie.

DateSerial,DateValue

Númerodecimalaotrabase.

Hex,Oct

Númeroacadena. Format,StrUntipodedatoaotro. CBool,CByte,CCur,CDate,CDbl,CDec,CInt,CLng,

CSng,CStr,CVar,CVErr,Fix,IntFechaadía,mes,díadelasemanaoaño.

Day,Month,Weekday,Year

Horaahora,minutoosegundo.

Hour,Minute,Second

CadenaavalorASCII. AscCadenaanúmero. ValHoraanúmerodeserie.

TimeSerial,TimeValue

Directivasdelcompilador,resumendepalabrasclave

Acción PalabrasclaveDefinirunaconstantedelcompilador.

#Const

Compilarbloquesseleccionadosdecódigo.

#If...Then...#Else

Directoriosyarchivos,resumendepalabrasclave

Acción PalabrasclaveCambiareldirectorioolacarpeta.

ChDir

Cambiarlaunidad. ChDriveCopiarunarchivo. FileCopyCrearundirectorioounacarpeta.

MkDir

Quitarundirectorioounacarpeta.

RmDir

Cambiarelnombredeunarchivo,undirectorioounacarpeta.

Name

Devolverlarutadeaccesoactual.

CurDir

Devolverlafechaylahoradelarchivo.

FileDateTime

Devolverlosatributosdeunarchivo,directoriooetiqueta.

GetAttr

Devolvereltamañodelarchivo.

FileLen

Devolverelnombredelarchivoolaetiquetadevolumen.

Dir

Establecerla SetAttr

informacióndeatributodeunarchivo.

Diversas,resumendepalabrasclave

Acción PalabrasclaveProcesareventospendientes. DoEventsEjecutarotrosprogramas. AppActivate,ShellEnviarpulsacionesdeteclasaunaaplicación.

SendKeys

Hacersonarunpitidoenelequipo.

Beep

Sistema. EnvironProporcionarunacadenaenlalíneadecomandos.

Command

Automatización. CreateObject,GetObjectColor. QBColor,RGB

Entradaysalida,resumendepalabrasclave

Acción PalabrasclaveTeneraccesoocrearunarchivo.

Open

Cerrararchivos. Close,ResetControlarlaaparienciadelresultado.

Format,Print,Print#,Spc,Tab,Width#

Copiarunarchivo. FileCopyObtenerinformacióndeunarchivo.

EOF,FileAttr,FileDateTime,FileLen,FreeFile,GetAttr,Loc,LOF,Seek

Administrararchivos. Dir,Kill,Lock,Unlock,NameLeerunarchivo. Get,Input,Input#,LineInput#Devolvereltamañodeunarchivo.

FileLen

Estableceruobtenerlosatributosdeunarchivo.

FileAttr,GetAttr,SetAttr

Establecerlaposicióndelecturayescrituraenunarchivo.

Seek

Escribirenunarchivo. Print#,Put,Write#

Errores,resumendepalabrasclave

Acción PalabrasclaveGenerarerroresentiempodeejecución.

Clear,Error,Raise

Obtenermensajesdeerror.

Error

Proporcionarinformacióndelerror.

Err

DevolveruntipoVariantdeError.

CVErr

Interceptarerroresentiempodeejecución.

OnError,Resume

Comprobareltipo. IsError

Fechasyhoras,resumendepalabrasclave

Acción PalabrasclaveObtenerlafechaolahoraactuales.

Date,Now,Time

Realizarcálculosdefechas.

DateAdd,DateDiff,DatePart

Devolverunafecha. DateSerial,DateValueDevolverunahora. TimeSerial,TimeValueEstablecerlafechaolahora.

Date,Time

Medireltiempodeunproceso.

Timer

Financieras,resumendepalabrasclave

Acción PalabrasclaveCalcularladepreciación.

DDB,SLN,SYD

Calcularelvalorfuturo.

FV

Calcularlatasadeinterés.

Rate

Calcularlatasainternaderetorno.

IRR,MIRR

Calcularelnúmerodepagos.

NPer

Calcularlospagos. IPmt,Pmt,PPmtCalcularelvalorpresente.

NPV,PV

Flujodecontrol,resumendepalabrasclave

Acción PalabrasclaveBifurcar. GoSub...Return,GoTo,OnError,On...GoSub,

On...GoToSalirohacerunapausaenlaejecucióndeunprograma.

DoEvents,End,Exit,Stop

Realizarbucles. Do...Loop,For...Next,ForEach...Next,While...Wend,With

Tomardecisiones. Choose,If...Then...Else,SelectCase,SwitchUtilizarprocedimientos.

Call,Function,PropertyGet,PropertyLet,PropertySet,Sub

Manipulacióndecadenas,resumendepalabrasclave

Acción PalabrasclaveComparardoscadenas.

StrComp

Convertircadenas. StrConvConvertiraminúsculasomayúsculas.

Format,LCase,UCase

Crearunacadenadecaracteresrepetidos.

Space,String

Averiguareltamañodeunacadena.

Len

Darformatoaunacadena.

Format

Justificarunacadena. LSet,RSetManipularcadenas. InStr,Left,LTrim,Mid,Right,RTrim,TrimEstablecerlasreglasdecomparacióndecadenas.

OptionCompare

TrabajarconvaloresASCIIyANSI.

Asc,Chr

Matemáticas,resumendepalabrasclave

Acción PalabrasclaveDerivarfuncionestrigonométricas.

Atn,Cos,Sin,Tan

Realizarcálculosgenerales.

Exp,Log,Sqr

Generarnúmerosaleatorios.

Randomize,Rnd

Obtenerelvalorabsoluto.

Abs

Obtenerelsignodeunaexpresión.

Sgn

Realizarconversionesnuméricas.

Fix,Int

Matrices,resumendepalabrasclave

Acción PalabrasclaveComprobarunamatriz.

IsArray

Crearunamatriz. ArrayCambiarellímiteinferiorpredeterminado.

OptionBase

Declarareinicializarunamatriz.

Dim,Private,Public,ReDim,Static

Encontrarloslímitesdeunamatriz.

LBound,UBound

Reinicializarunamatriz.

Erase,ReDim

ObjetoCollection,resumendepalabrasclave

Acción PalabrasclaveCrearunobjetoCollection.

Collection

Agregarunobjetoaunacolección.

Add

Quitarunobjetodeunacolección.

Remove

Hacerreferenciaaunobjetodeunacolección.

Item

Operadores,resumendepalabrasclave

Acción PalabrasclaveRealizaroperacionesaritméticas.

^,–,*,/,\,Mod,+,&,=

Realizarcomparaciones.

=,<>,<,>,<=,>=,Like,Is

Realizaroperacioneslógicas.

Not,And,Or,Xor,Eqv,Imp

Palabrasclaveportarea

Categoría DescripciónMatrices Crear,definiryutilizarmatrices.Directivasdelcompilador

Controlarelcomportamientodelcompilador.

Flujodecontrol Realizarbuclesycontrolarelflujodelprocedimiento.Conversión Convertirnúmerosytiposdedatos.Tiposdedatos TiposdedatosysubtiposVariant.Fechasyhoras Convertiryutilizarexpresionesdefechayhora.Directoriosyarchivos Controlarelsistemadearchivosyprocesararchivos.Errores Interceptarydevolvervaloresdeerror.Financieras Realizarcálculosfinancieros.Entradaysalida Recibirunaentradaymostraroimprimirelresultado.Matemáticas Realizarcálculostrigonométricosuotroscálculos

matemáticos.Diversas Iniciarotrasaplicacionesyprocesareventos.Operadores Compararexpresionesyotrasoperaciones.Manipulacióndecadenas

ManipularcadenasydatosdetipoString.

Variablesyconstantes Declararydefinirvariablesyconstantes.

Registro,resumendepalabrasclave

Acción PalabrasclaveEliminarconfiguracionesdelprograma.

DeleteSetting

Leerconfiguracionesdelprograma.

GetSetting,GetAllSettings

Guardarconfiguracionesdelprograma.

SaveSetting

Tiposdedatos,resumendepalabrasclave

Acción PalabrasclaveConvertirentretiposdedatos.

CBool,CByte,CCur,CDate,CDbl,CDec,CInt,CLng,CSng,CStr,CVar,CVErr,Fix,Int

Establecertiposdedatosintrínsecos.

Boolean,Byte,Currency,Date,Double,Integer,Long,Object,Single,String,Variant(predeterminado)

Comprobarlostiposdedatos.

IsArray,IsDate,IsEmpty,IsError,IsMissing,IsNull,IsNumeric,IsObject

Variablesyconstantes,resumendepalabrasclave

Acción PalabrasclaveAsignarunvalor. LetDeclararvariablesoconstantes.

Const,Dim,Private,Public,New,Static

Declararunmódulocomoprivado.

OptionPrivateModule

ObtenerinformaciónsobreuntipoVariant.

IsArray,IsDate,IsEmpty,IsError,IsMissing,IsNull,IsNumeric,IsObject,TypeName,VarType

Hacerreferenciaalobjetoactual.

Me

Solicitardeclaracionesexplícitasdevariables.

OptionExplicit

Estableceruntipodedatospredeterminado.

Deftipo

AppActivate(Instrucción)

Activaunaventanadeaplicación.

Sintaxis

AppActivatetitle[,wait]

LasintaxisdelainstrucciónAppActivateconstadeestosargumentosconnombre:

Parte Descripción

title Requerido.Expresióndecadenaqueespecificaeltítulodelabarradetítulodelaventanadeaplicaciónquedeseaactivar.Además,esposibleutilizarelIddetareadevueltoporlafunciónShellenlugardelargumentotitleparaactivarunaaplicación.

wait Opcional.ValorBooleanqueespecificasilaaplicaciónquehacelallamadatieneelenfoqueantesdeactivarotra.SiespecificaFalse(predeterminado),seactivainmediatamentelaaplicaciónespecificada,aunquelaaplicaciónquehacelallamadanotengaelenfoque.SiseespecificaTrue,laaplicaciónquehacelallamadaesperahastaquetengaelenfoqueyluegoactivalaaplicaciónespecificada.

Comentarios

LainstrucciónAppActivatecambiaelenfoquealaaplicaciónoventanaespecificada,peronolamaximizaominimiza.Elenfoquesedesplazadelaventanadeaplicaciónactivadacuandoelusuarioejecutaalgunaacciónquecambiaelenfoqueoquecierralaventana.SeutilizalafunciónShellparainiciarunaaplicaciónyestablecerelestilodelaventana.

Paradeterminarquéaplicaciónsevaaactivar,secomparatitleconlacadenadetítulodecadaaplicaciónquehayenejecución.Sinoseencuentraunacorrespondenciaexacta,seactivalaaplicacióncuyacadenatítulocomienceportitle.Sihaymásdeunainstanciadelaaplicacióncuyonombreestitle,seactivacualquieradeellas,deformaarbitraria.

Beep(Instrucción)

Emiteunsonidoporelaltavozdelequipo.

Sintaxis

Beep

Comentarios

Lafrecuenciayduracióndelsonidoqueseemitedependedelhardwareyelsoftwaredelsistema,quepuedevariardeunequipoaotro.

Call(Instrucción)

TransfiereelcontrolaunprocedimientoSub,aunprocedimientoFunctionoaunprocedimientobibliotecadevínculosdinámicos(DLL).

Sintaxis

[Call]nombre[listaargumentos]

LasintaxisdelainstrucciónCallconstadelassiguientespartes:

Parte DescripciónCall Opcional;palabraclave.Siseespecifica,listaargumentosse

debecolocarentreparéntesis.Porejemplo: CallMiProced(0)

nombre Requerido.Nombredelprocedimientoalquesetransfiereelcontrol.

listaargumentos Opcional.Listadevariables,matricesoexpresionesdelimitadasporcomas,quesevanatransferiralprocedimiento.LoscomponentesdelistaargumentospuedenincluirlaspalabrasclaveByValoByRefparadescribirlaformaenlaqueelprocedimientollamadotratalosargumentos.Sinembargo,ByValyByRefsepuedenutilizarconlainstrucciónCallsolamentecuandosellamaaunprocedimientodeDLL.EnMacintosh,ByValyByRefpuedenutilizarseconCallcuandoserealizaunallamadaaunrecursodelcódigodeMacintosh.

Comentarios

NoesnecesarioqueutilicelapalabraclaveCallcuandollamaaunprocedimiento.Sinembargo,siutilizalapalabraclaveCallparallamaraun

procedimientoquerequierelosargumentos,listaargumentosdebeestarentreparéntesis.SiomitelapalabraclaveCall,debeomitirtambiénlosparéntesisdelistaargumentos.SiutilizacualquieradelasformasdelasintaxisCallparallamaracualquierfunciónintrínsecaoaunafuncióndefinidaporelusuario,sedescartaráelvalordevueltoporlafunción.

Paratransferirunamatrizcompletaaunprocedimiento,utiliceelnombredelamatrizseguidadeparéntesisvacíos.

ChDir(Instrucción)

Cambiaeldirectorioocarpetaactual.

Sintaxis

ChDirruta

Elargumentorequeridoruta,esunaexpresióndecadenaqueidentificaeldirectorioocarpetaquevaaserelnuevodirectorioocarpetapredeterminado.Larutapuedeincluirlaunidaddedisco.Sinoseespecificalaunidad,lainstrucciónChDircambiaeldirectorioocarpetapredeterminadodelaunidadactual.

Comentarios

LainstrucciónChDircambiaeldirectoriopredeterminado,peronolaunidadpredeterminada.Porejemplo,silaunidaddediscopredeterminadaesC,la

siguienteinstruccióncambiaeldirectoriopredeterminadoenlaunidadD,peroCcontinúasiendolaunidadpredeterminada:

ChDir"D:\TMP"

EnelPowerMacintosh,launidadpredeterminadasiemprecambiaalaunidadespecificadaenruta.Lasespecificacionesdelarutacompletacomienzanconelnombredelvolumenylasrutasrelativascomienzancondospuntos(:).ChDirresuelvecualquieraliasespecificadoenlaruta:

ChDir"UnidadMac:Tmp"'EnMacintosh.

Observequecuandorealicecambiosenlosdirectoriosrelativos,seutilizansímbolosdiferentesenMicrosoftWindowsyenMacintosh:

ChDir".."'SubeundirectorioenMicrosoftWindows.

ChDir"::"'SubeundirectorioenMacintosh.

ChDrive(Instrucción)

Cambialaunidaddediscoactual.

Sintaxis

ChDriveunidad

Elargumentorequeridounidad,esunaexpresióndecadenaqueespecificaunaunidaddediscoexistente.Sisesuministraunargumentodelongitudcero(""),launidaddediscoactualnocambia.Sielargumentounidadesunacadenademúltiplescaracteres,lainstrucciónChDrivesolamenteutilizalaprimeraletra.

EnMacintosh,ChDrivecambialacarpetaactualalacarpetaraízdelaunidadespecificada.

Close(Instrucción)

Terminalasoperacionesdeentrada/salida(E/S)enunarchivoabiertoconlainstrucciónOpen.

Sintaxis

Close[listanúmerosarchivos]

Elargumentoopcionallistanúmerosarchivospuedeestarconstituidoporunoomásnúmerosdearchivousandolasiguientesintaxis,dondenúmeroarchivoescualquiernúmerodearchivoválido:

[[#]númeroarchivo][,[#]númeroarchivo]...

Comentarios

Siomitelistanúmerosarchivos,secierrantodoslosarchivosactivosabiertoscon

lainstrucciónOpen.

CuandosecierranarchivosqueseabrieronparaOutputoAppend,elbúferfinaldesalidasegrabaenelbúferdelsistemaoperativoquecorrespondeaesearchivo.Todoelespaciodelbúferasociadoconelarchivocerradoselibera.

CuandoseejecutalainstrucciónClose,laasociacióndeunarchivoconsunúmerodearchivotermina.

Const(Instrucción)

Declaralasconstantesquesepuedenutilizarenlugardelosvaloresliterales.

Sintaxis

[Public|Private]Constnombre_constante[Astipo]=expresión

LasintaxisdelainstrucciónConstconstadelassiguientespartes:

Parte DescripciónPublic Opcional.Palabraclaveutilizadaenunniveldemódulopara

declararconstantesqueestándisponiblesparatodoslosprocedimientosencualquiermódulo.Nosepermiteenprocedimientos.

Private Opcional.Palabraclaveutilizadaaniveldemóduloparadeclararconstantesquesóloestándisponiblesdentrodelmódulodondesehaceladeclaración.Nosepermiteenprocedimientos.

nombre_constante

Requerido.Nombredelaconstante;siguelasconvencionesdenombreestándardevariable.

tipo Opcional.Tipodedatosdelaconstante;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String,oVariant.UseunacláusulaAstipodistintaparacadaconstantequedeclare.

expresión Requerida.Literal,otraconstanteocualquiercombinación,incluyendooperadoresaritméticosológicosexceptoIs.

Comentarios

Lasconstantessonprivadasdemanerapredeterminada.Dentrodelosprocedimientos,lasconstantessonsiempreprivadas;esimposiblecambiarsuvisibilidad.Enlosmódulosestándar,lavisibilidadpredeterminadadelasconstantesaniveldemódulosepuedemodificarmediantelapalabraclavePublic.Sinembargo,enlosmódulosdeclase,lasconstantessólopuedenserprivadasyesimposiblecambiarsuvisibilidadmediantelapalabraclavePublic.

Paracombinarvariasdeclaracionesdeconstantesenlamismalínea,separecadaasignacióndeconstanteconunacoma.Silasdeclaracionesdeconstantessecombinandeestaforma,laspalabrasclavePublicoPrivate,siseusan,seaplicanatodasellas.

Noesposibleusarvariables,funcionesdefinidasporelusuarioofuncionesintrínsecasdeVisualBasic(comoChr)enexpresionesasignadasaconstantes.

NotaLasconstantesfacilitanladocumentacióndelprogramaylohacenfácildemodificar.Adiferenciadelasvariables,lasconstantesnosepuedencambiarinadvertidamentemientraselprogramaestáenejecución.

Sinodeclaraexplícitamenteeltipodeconstante(conAstipo),seleasignaráalaconstanteeltipodedatosmásapropiadoparalaexpresióndada.

LasconstantesquesedeclaranenlosprocedimientosSub,FunctionoPropertyseconsideranlocalesdeeseprocedimiento.Unaconstantequesedeclarafueradeunprocedimientosedefiniráparalatotalidaddelmóduloenelquesedeclara.

Puedeusarconstantesencualquierlugarenelqueusaríaunaexpresión.

Date(Instrucción)

Establecelafechaactualdelsistema.

Sintaxis

Date=fecha

ParaequiposquetrabajenconMicrosoftWindows95,elargumentofechadebeserunafechaentreel1deenerode1980yel31dediciembrede2099.ParaequiposquetrabajenconMicrosoftWindowsNT,elargumentofechadebeestarcomprendidoentreel1deenerode1980al31dediciembredel2079.ParaMacintosh,fechadebeserunafechadel1deenerode1904al5defebrerode2040.

Declare(Instrucción)

Seusaenelniveldemóduloparadeclararreferenciasaprocedimientosexternosqueestánenunabibliotecadevínculosdinámicos(DLL).

Sintaxis1

[Public|Private]DeclareSubnombreLib"nombre_biblioteca"[Alias"nombre_alias"][([lista_argumentos])]

Sintaxis2

[Public|Private]DeclareFunctionnombreLib"nombre_biblioteca"[Alias"nombre_alias"][([lista_argumentos])][Astipo]

LasintaxisdelainstrucciónDeclareconstadelassiguientespartes:

Parte DescripciónPublic Opcional.Seusaparadeclararprocedimientosqueestán

disponiblesparatodoslosdemásprocedimientosentodoslosmódulos.

Private Opcional.Seusaparadeclararprocedimientosquesóloestándisponiblesdentrodelmódulodondesehaceladeclaración.

Sub Opcional(debeaparecerSuboFunction).Indicaqueelprocedimientonodevuelveunvalor.

Function Opcional(debeaparecerSuboFunction).Indicaqueelprocedimientodevuelveunvalorquesepuedeutilizarenunaexpresión.

nombre Requerido.Cualquiernombreválidodeprocedimiento.ObservequelospuntosdeentradadelasDLLdistinguenmayúsculasdeminúsculas.

Lib Requerido.Indicaqueelprocedimientoqueestádeclarandose

encuentraenunaDLLounrecursodecódigo.LacláusulaLibesobligatoriaparatodaslasdeclaraciones.

nombre_biblioteca

Requerido.NombredelarchivoDLLodelrecursodecódigoquecontieneelprocedimientodeclarado.

Alias Opcional.IndicaqueelprocedimientoalquesellamatieneotronombreenlaDLL.Estoesútilcuandoelnombredelprocedimientoexternoeselmismoqueeldeunapalabraclave.TambiénesposibleusarAliascuandounprocedimientodeDLLtieneelmismonombrequeunavariable,constanteocualquierotroprocedimientoconelmismoalcance.AliastambiénresultaútilsialgúncarácterdelnombredelprocedimientodelaDLLnoseadmitecomonombre.

nombre_alias

Opcional.NombredelprocedimientodelaDLLodelrecursodecódigo.Sielprimercarácternoesunsignodenúmero(#),nombre_aliaseselnombredelpuntodeentradadelprocedimientoenlaDLL.Si#eselprimercarácter,todosloscaracteresquelesiguendeberánindicarelnúmeroordinaldelpuntodeentradadelprocedimiento.

lista_argumentos

Opcional.Listadevariablesquerepresentanargumentosquesepasanalllamaralprocedimiento.

tipo Opcional.TipodedatosdelvalordevueltoporunprocedimientoFunction;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidoactualmente),Date,String(solamentedelongitudvariable),oVariant,untipodefinidoporelusuario,ountipodeobjeto.

Elargumentolista_argumentosposeelassiguientespartesysintaxis:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo]

Parte DescripciónOptional Opcional.Indicaqueunargumentonoserequiere.Siseusa,

todoslosargumentossubsiguientesdelista_argumentostambiéndebenseropcionalesydebendeclararsemediantelapalabraclaveOptional.NosepuedeutilizarOptionalparaningún

argumentosiseutilizaParamArray.ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Indicaqueelargumentosepasaporreferencia.ByRefesel

modopredeterminadoenVisualBasic.ParamArray Opcional.Seusasólocomoelúltimoargumentode

lista_argumentosparaindicarqueelargumentofinalesunamatrizOptionaldeelementosVariant.LapalabraclaveParamArraylepermiteincluirunnúmeroarbitrariodeargumentos.NosepuedeusarconByVal,ByRefuOptional.

nombre_variable

Requerido.Nombredelavariablequerepresentaelargumentoquesepasaalprocedimiento;siguelasconvencionesestándardenombresdevariables.

() Requeridoparavariablesdematriz.Indicaquenombre_variableesunamatriz.

tipo Opcional.Eltipodedatosdelargumentoquesepasaalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidoactualmente),Date,String(sólolongitudvariable),Object,Variant,untipodefinidoporelusuarioountipodeobjeto.

Comentarios

ParalosprocedimientosFunctioneltipodedatosdelprocedimientodeterminaeltipodedatosquedevuelve.PuedeusarunacláusulaAsacontinuacióndelista_argumentosparaespecificareltipodevalordevueltoporlafunción.Dentrodelista_argumentospuedeutilizarunacláusulaAsparaespecificareltipodedatosdelosargumentosquesepasanalprocedimiento.Ademásdeespecificarcualquieradelostiposdedatosestándar,puedeespecificarAsAnyenlista_argumentosparainhibirlacomprobacióndeltipodedatosypermitirelpasodecualquiertipodedatosalprocedimiento.

LosparéntesisvacíosindicanqueelprocedimientoSuboFunctionnotieneningúnargumentoyqueVisualBasicdebecomprobarquenosepasaninguno.Enelejemplosiguiente,Primeronotomaningúnargumento.SiusaargumentosenunallamadaaPrimero,ocurriráunerror:

DeclareSubPrimeroLib"MiBiblioteca"()

Siseincluyeunalistadeargumentos,secomprobaráelnúmeroyeltipodeargumentoscadavezquesellamealprocedimiento.Enelejemplosiguiente,PrimerotomaunargumentoLong:

DeclareSubPrimeroLib"MiBiblioteca"(XAsLong)

NotaNopuedetenercadenasdelongitudfijaenlalistadeargumentosdeunainstrucciónDeclare;sólosepuedenpasarcadenasdelongitudvariablealosprocedimientos.Lascadenasdelongitudfijapuedenaparecercomoargumentosdeprocedimientos,peroseconviertenacadenasdelongitudvariableantesdepasarse.

NotaLaconstantevbNullStringseutilizaalllamaraprocedimientosexternos,dondeelprocedimientoexternorequiereunacadenacuyovalorescero,quenoeslomismoqueunacadenadelongitudcero("").

Deftipo(Instrucciones)

Seusanenelniveldemóduloparaestablecereltipodedatospredeterminadoparavariables,argumentospasadoaprocedimientos,yelvalordevueltoporlosprocedimientosFunctionyPropertyGetcuyosnombrescomienzanconloscaracteresespecificados.

Sintaxis

DefBoolintervalo_letras[,intervalo_letras]...

DefByteintervalo_letras[,intervalo_letras]...

DefIntintervalo_letras[,intervalo_letras]...

DefLngintervalo_letras[,intervalo_letras]...

DefCurintervalo_letras[,intervalo_letras]...

DefSngintervalo_letras[,intervalo_letras]...

DefDblintervalo_letras[,intervalo_letras]...

DefDecintervalo_letras[,intervalo_letras]...

DefDateintervalo_letras[,intervalo_letras]...

DefStrintervalo_letras[,intervalo_letras]...

DefObjintervalo_letras[,intervalo_letras]...

DefVarintervalo_letras[,intervalo_letras]...

Elargumentorequeridointervalo_letrasposeelasintaxissiguiente:

letra1[-letra2]

Losargumentosletra1yletra2especificanelintervalodenombresparaelcualpuedeestableceruntipodedatospredeterminado.Cadaargumentorepresentalaprimeraletradelnombredelavariable,argumento,procedimientoFunctionoprocedimientoPropertyGetypuedesercualquierletradelabecedario.Enintervalo_letrasnosedistingueentremayúsculasyminúsculas.

Comentarios

Elnombredelainstruccióndeterminaeltipodedatos:

Instrucción TipodedatosDefBool BooleanDefByte ByteDefInt IntegerDefLng LongDefCur CurrencyDefSng SingleDefDbl DoubleDefDec Decimal(noseadmiteactualmente)DefDate DateDefStr StringDefObj ObjectDefVar Variant

Porejemplo,enelsiguientefragmentodeprograma,Mensajeesunavariabledecadena:

DefStrA-Q

...

Mensaje="Espaciodepilainsuficiente."

UnainstrucciónDeftiposóloafectaalmódulodondeseusa.Porejemplo,unainstrucciónDefIntenunmódulosóloafectaaltipodedatospredeterminadodelasvariables,losargumentospasadosaprocedimientosyeltipodevueltoparalosprocedimientosFunctionyPropertyGetdeclaradosenesemódulo;eltipodedatospredeterminadodevariables,argumentosytiposdevueltosenotrosmódulosnosevenafectados.SinosedeclaraexplícitamenteconunainstrucciónDeftipo,eltipodedatospredeterminadoparatodaslasvariables,todoslosargumentos,todoslosprocedimientosFunctionytodoslosprocedimientosPropertyGetesVariant.

Cuandoespecificaunintervalodeletras,generalmentedefineeltipodedatosparavariablesquecomienzanconlasletrasdelos128primeroscaracteresdeljuegodecaracteres.Sinembargo,cuandoespecificaelintervalodeletrasA–Z,estableceeltipodedatospredeterminadoparatodaslasvariables,incluyendocualquieraquecomienceconcaracteresinternacionalesprovenientesdelaparteextendidadeljuegodecaracteres(128–255).

TrasespecificarelintervaloA–ZnoesposibleseguirredefiniendocualquiersubintervalodevariablesmedianteinstruccionesDeftipo.Dehecho,unavezdefinidounintervalo,siincluyeunaletradefinidaanteriormenteenotrainstrucciónDeftipo,ocurriráunerror.Sinembargo,puedeespecificarexplícitamenteeltipodedatosdecualquiervariable,definidaono,medianteunainstrucciónDimconunacláusulaAstipo.Porejemplo,puedeusarelsiguientecódigoenelniveldemóduloparadefinirunavariablecomoDoubleinclusoaunqueeltipodedatospredeterminadoseaInteger:

DefIntA-Z

DimPorcentajeImpuestoAsDouble

LasinstruccionesDeftiponoafectanaelementosdetiposdefinidosporelusuarioyaqueestosdebendeclararseexplícitamente.

DeleteSetting(Instrucción)

EliminaunasecciónounaclavedeunaentradadelregistrodeWindows.O(enMacintosh)informaciónenelarchivodeinicializacióndelaaplicación.

Sintaxis

DeleteSettingappname,section[,key]

LasintaxisdelainstrucciónDeleteSettingtienelossiguientesargumentosconnombre:

Parte Descripciónappname Obligatorio.Expresióndecadenaquecontieneelnombredela

aplicaciónoproyectoalqueseaplicalasecciónolaclave.EnMacintosh,ésteeselnombredelarchivodeinicializaciónenlacarpetaPreferenciasenlacarpetadelSistema.

section Obligatorio.Expresióndetipocadenaquecontieneelnombredelaseccióndondeseencuentralaclavequesevaaeliminar.Sisóloseindicanappnameysection,seeliminarálasecciónespecificadajuntocontodaslasclavesrelacionadas.

key Opcional.Expresióndetipocadenaquecontieneelnombredelaclaveaeliminar.

Comentarios

Siseespecificantodoslosargumentos,seeliminarálaclaveindicada.Sinembargo,lainstrucciónDeleteSettingnohacenadasilasecciónolaclaveespecificadasnoexisten.

Dim(Instrucción)

Declaravariablesylesasignaespaciodealmacenamiento.

Sintaxis

Dim[WithEvents]nombre_variable[([subíndices])][As[New]tipo][,[WithEvents]nombre_variable[([subíndices])][As[New]tipo]]...

LasintaxisdelainstrucciónDimconstadelassiguientespartes:

Parte DescripciónWithEvents Opcional.Palabraclavequeespecificaquenombre_variablees

unavariabledeobjetoutilizadapararesponderaeventosdesencadenadosporunobjetoActiveX.WithEventssolamenteesválidoenmódulosdeclase.PuededeclarartantasvariablesindividualescomodeseemedianteWithEvents,peronopuedecrearmatricesconWithEvents.NopuedeutilizarNewconWithEvents.

nombre_variable

Requerido.Nombredelavariable;siguelasconvencionesestándardenombredevariable.

subíndices Opcional.Dimensionesdelavariabledematriz;sepuedendeclararhasta60dimensionesmúltiples.Elargumentosubíndicesutilizalasintaxissiguiente:

[inferiorTo]superior[,[inferiorTo]superior]...

Cuandonosedeclaraespecíficamenteeninferior,ellímiteinferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.EstelímiteinferiorescerosinohayningunainstrucciónOptionBase.

New Opcional.Palabraclavequehabilitalacreaciónimplícitadeunobjeto.SiutilizaNewcuandodeclaralavariabledeobjeto,secreaunanuevainstanciadelobjetocomoprimerareferencia,deformaquenotienequeutilizarlainstrucciónSetparaasignarlareferenciadelobjeto.LapalabraclaveNewnosepuedeutilizarparadeclararvariablesdecualquiertipodedatos,intrínseco,paradeclararinstanciasdeobjetosdependientesniconWithEvents.

tipo Opcional.Tipodedatosdelavariable;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(actualmentenoadmitida),Date,String(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,untipodefinidoporelusuario,ountipodeobjeto.UtiliceunacláusuladistintaAstipoparacadavariablequedefina.

Comentarios

LasvariablesdeclaradasconDimenelniveldemóduloestándisponiblesparatodoslosprocedimientosdisponiblessólodentrodeesemódulo.Enelniveldeprocedimiento,lasvariablessóloestándisponiblesdentrodeeseprocedimiento.

UtilicelainstrucciónDimenelniveldemóduloodeprocedimientoparadeclarareltipodedatosdeunavariable.Porejemplo,lasiguienteinstruccióndeclaraunavariablecomoInteger.

DimNúmeroDeEmpleadosAsInteger

TambiénpuedeutilizarunainstrucciónDimparadeclarareltipodeobjetodeunavariable.Lasiguientelíneadeclaraunavariableparaunanuevainstanciadeunahojadecálculo.

DimXAsNewWorksheet

SinoutilizalapalabraclaveNewaldeclararunavariabledeobjeto,lavariablequeserefierealobjetodebeasignarseaunobjetoexistentemediantelainstrucciónSetantesdesuuso.Hastaqueseleasigneunobjeto,lavariabledeobjetodeclaradatieneelvalorespecialNothing,elcualindicaquenoserefiereaningunainstanciaenparticulardeunobjeto.

TambiénpuedeutilizarlainstrucciónDimconparéntesisvacíosparadeclararmatricesdinámicas.Despuésdedeclararunamatrizdinámica,uselainstrucciónReDimdentrodeunprocedimientoparadefinirelnúmerodedimensionesyelementosdelamatriz.SiintentavolveradeclararunadimensiónparaunavariabledematrizcuyotamañosehaespecificadoexplícitamenteenunainstrucciónPrivate,PublicoDim,ocurriráunerror.

SinoespecificauntipodedatosountipodeobjetoynoexisteningunainstrucciónDeftipoenelmódulo,lavariablepredeterminadaseráVariant.

Cuandoseinicializanvariables,unavariablenuméricaseinicializacon0,unacadenadelongitudvariableseinicializaconunacadenadelongitud0("")yuna

cadenadelongitudfijasellenaconceros.LasvariablesVariantseinicializanconEmpty.Cadaelementodeunavariabledeuntipodefinidoporelusuarioseinicializacomosifueraunavariabledistinta.

NotaCuandoutilizalainstrucciónDimenunprocedimiento,generalmenteponelainstrucciónDimalprincipiodelmismo.

Do...Loop(Instrucción)

RepiteunbloquedeinstruccionescuandounacondiciónesTrueohastaqueunacondiciónseconviertaenTrue.

Sintaxis

Do[{While|Until}condición][instrucciones][ExitDo][instrucciones]

Loop

Obien,puedeutilizarestasintaxis:

Do[instrucciones][ExitDo][instrucciones]

Loop[{While|Until}condición]

LasintaxisdelainstrucciónDoLoopconstadelassiguientespartes:

Parte Descripcióncondición Opcional.Expresiónnuméricaoexpresióndecadenaquees

TrueoFalse.SilacondiciónesNull,condiciónseconsideraFalse.

Instrucciones UnaomásinstruccionesqueserepitenmientrasohastaquecondiciónseaTrue.

Comentarios

SepuedeutilizarcualquiernúmerodeinstruccionesExitDoubicadasencualquierlugardentrodeunaestructuradecontrolDo…Loop,paraproporcionarunasalidaalternativadeunDo…Loop.LainstrucciónExitDoseutilizafrecuentementeenlaevaluacióndealgunacondición,porejemplo,If…Then;enestecaso,lainstrucciónExitDotransfiereelcontrolalainstrucciónquesigueinmediatamentealainstrucciónLoop.

CuandoseutilizaconinstruccionesanidadasDo…Loop,lainstrucciónExitDotransfierecontrolalbuclequeestáanidadounnivelporencimadelbucledondeocurre.

End(Instrucción)

Terminaunprocedimientoobloque.

Sintaxis

End

EndFunction

EndIf

EndProperty

EndSelect

EndSub

EndType

EndWith

LasintaxisdelainstrucciónEndtienelassiguientesvariantes:

Instrucción DescripciónEnd Finalizalaejecucióninmediatamente.Noesestrictamente

necesaria,perosepuedecolocarencualquierlugardeunprocedimientoparafinalizarlaejecucióndecódigo,cerrararchivosabiertosconlainstrucciónOpenyborrarvariables.

EndFunction RequeridoparaterminarunainstrucciónFunction.EndIf RequeridoparaterminarunainstruccióndebloqueIf…

Then…Else.

EndProperty RequeridoparaterminarunprocedimientoaPropertyLet,PropertyGetoPropertySet.

EndSelect RequeridoparaterminarunainstrucciónSelectCase.EndSub RequeridoparaterminarunainstrucciónSub.EndType Requeridoparaterminarunadefinicióndeuntipodefinido

porelusuario(instrucciónType).EndWith RequeridoparaterminarunainstrucciónWith.

Comentarios

CuandoseejecutalainstrucciónEnd,serestablecentodaslasvariablesaniveldemóduloytodaslasvariableslocalesestáticasentodoslosmódulos.UtiliceStopsinecesitaconservarelvalordeestasvariables.Puedereanudarlaejecuciónyalmismotiempoconservarlosvaloresdeesasvariables.

NotaLainstrucciónEnddetienelaejecuciónbruscamente,sinllamaaloseventosUnload,QueryUnloadoTerminate,ocualquierotrocódigoVisualBasic.ElcódigoquehacolocadoenloseventosUnload,QueryUnloadyTerminatedelosformulariosymódulosdeclasenoseejecuta.Sedestruyenlosobjetoscreadosdesdemódulodeclase,secierranlosarchivosabiertosutilizandoelmétodoOpenyseliberalamemoriautilizadaporelprograma.Seinvalidanlasreferenciasdeobjetosmantenidasporotrosprogramas.

LainstrucciónEndproporcionaunamaneradeforzarladetencióndeunprograma.ParalafinalizaciónnormaldeunprogramaVisualBasic,debedescargartodoslosformularios.Elprogramasecierraencuantonohayaotrosprogramasquemantienenreferenciasaobjetoscreadosenlosmódulosdeclasepúblicosyseejecuteningúncódigo.

Erase(Instrucción)

Vuelveainicializarloselementosdematricesdetamañofijoyliberaelespaciodealmacenamientoasignadoamatricesdinámicas.

Sintaxis

Eraselista_matrices

Elargumentorequeridolista_matricesesunaomásvariablesdematrizdelimitadasporcomasquesevanaborrar.

Comentarios

Erasesecomportademaneradiferentedependiendodesiunamatrizesdetamañofijo(normal)odinámica.Erasenorecuperamemoriaparalasmatricesdetamañofijo.Eraseestableceloselementosdeunamatrizfijasegúnseexplicaacontinuación:

Tipodematriz EfectodeErasesobreelementosdeunamatrizfijaMatriznuméricafija Establececadaelementoacero.Matrizdecadenafija(longitudvariable)

Establececadaelementoaunacadenadelongitudcero("").

Matrizdecadenafija(longitudfija)

Establececadaelementoacero.

MatrizdeVariantefija EstablececadaelementoaEmpty.Matrizdetiposdefinidosporelusuario

Establececadaelementocomosisetrataradeunavariableseparada.

Matrizdeobjetos EstablececadaelementoalvalorespecialNothing.

Eraseliberalamemoriausadapormatricesdinámicas.Antesdequeelprogramapuedahacerreferenciadenuevoalamatrizdinámica,debevolveradeclararlasdimensionesdelasvariablesdelamatrizconlainstrucciónReDim.

Error(Instrucción)

Simulalageneracióndeunerror.

Sintaxis

Errornúmeroerror

Elargumentoobligatorionúmeroerrorpuedesercualquiernúmerodeerrorválido.

Comentarios

LainstrucciónErrorsemantieneporcompatibilidadconversionesanteriores.Enelcódigonuevo,especialmentealcrearobjetos,utiliceelmétodoRaisedelobjetoErrparagenerarerroresentiempodeejecución.

Sinúmeroerrorestádefinido,lainstrucciónErrorllamaalcontroladordeerroresdespuésdequelaspropiedadesdelobjetoErrseestablezcanconlossiguientevalorespredeterminados:

Propiedad ValorNumber ValorespecificadocomoargumentoeninstrucciónError.

Puedesercualquiernúmerodeerrorválido.Source NombredelproyectoactualdeVisualBasic.Description Expresióndecadenacorrespondientealvalordevueltoporla

funciónErrorparaelnúmeroespecificadoenNumber,sitalcadenaexiste.Sinoexiste,Descriptioncontendráunacadenadelongitudcero("").

HelpFile Unidad,rutadeaccesoynombrecompletodelarchivodeAyudadeVisualBasic.

HelpContext IdentificadordecontextodelarchivodeAyudadeVisual

BasicparaelerrorcorrespondientealapropiedadNumber.LastDLLError Cero.

Sinoexistecódigodecontroldeerrores,osinoseencuentraactivado,secrearáymostraráunmensajedeerrorapartirdelaspropiedadesdelobjetoErr.

NotaNotodaslasaplicacioneshostdeVisualBasicpuedencrearobjetos.Consulteladocumentacióndesuaplicaciónhostparacomprobarsipuedecrearclasesyobjetos.

Exit

(Instrucción)

SaledeunbloquedecódigodeDo…Loop,For...Next,Function,SuboProperty.

Sintaxis

ExitDo

ExitFor

ExitFunction

ExitProperty

ExitSub

LasintaxisdelainstrucciónExitpuedeserlasiguiente:

Instrucción DescripciónExitDo Proporcionaunamaneradesalirdeunainstrucción

Do...Loop.SolamentesepuedeutilizardentrodeunainstrucciónDo...Loop.LainstrucciónExitDotransfiereelcontrolalainstrucciónquesiguealainstrucciónLoop.CuandoseutilizaconinstruccionesanidadasDo...Loop,lainstrucciónExitDotransfiereelcontrolalbuclequeestáanidadounnivelporencimadelbucledondeocurre.

ExitFor ProporcionaunamaneradesalirdeunbucleFor.SólosepuedeutilizarenunbucleFor...NextoForEach...Next.LainstrucciónExitFortransfiereelcontrolalainstrucciónquesiguealainstrucciónNext.CuandoseutilizaconbuclesanidadosFor,lainstrucciónExitFortransfiereelcontrolalbuclequeestáanidadounnivelporencimadelbucledondeocurre.

ExitFunction SaleinmediatamentedelprocedimientoFunctionenelqueaparece.LaejecucióncontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoFunction.

ExitProperty SaleinmediatamentedelprocedimientoPropertyenelqueaparece.LaejecucióncontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoProperty.

ExitSub SaleinmediatamentedelprocedimientoSubenelqueaparece.LaejecucióncontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoSub.

Comentarios

NoconfundalasinstruccionesExitconlasinstruccionesEnd.LainstrucciónExitnodefinedóndeterminaunaestructura.

FileCopy(Instrucción)

Copiaunarchivo.

Sintaxis

FileCopysource,destination

LasintaxisdelainstrucciónFileCopyconstadelossiguientesargumentosconnombre:

Parte Descripciónsource Requerido.Expresióndecadenaqueespecificaelnombredeun

archivoquesevaacopiar.sourcepuedeincluireldirectorioocarpetaylaunidaddedisco.

destination Requerido.Expresióndecadenaqueespecificaelnombredelarchivodedestination.Puedeincluireldirectorioocarpetaylaunidaddedisco.

Comentarios

SiintentautilizarlainstrucciónFileCopyenunarchivoabiertoactualmente,seproduciráunerror.

ForEach...Next(Instrucción)

Repiteungrupodeinstruccionesparacadaelementodeunamatrizocolección.

Sintaxis

ForEachelementoIngrupo[instrucciones][ExitFor][instrucciones]

Next[elemento]

LasintaxisdelainstrucciónForEach...Nextconstadelassiguientespartes:

Parte Descripciónelemento Requerido.Variablequeseutilizaparaiterarporlos

elementosdelconjuntoomatriz.Paraconjuntos,elementosolamentepuedeserunavariabledeltipoVariant,unavariabledeobjetogenéricaocualquiervariabledeobjetoespecífica.Paramatrices,elementosolamentepuedeserunavariabletipoVariant.

grupo Requerido.Nombredeunconjuntodeobjetosodeunamatriz(exceptounamatrizdetiposdefinidosporelusuario).

instrucciones Opcional.Unaomásinstruccionesqueseejecutanparacadaelementodeungrupo.

Comentarios

LaentradaalbloqueForEachseproducesihayalmenosunelementoengrupo.Unavezquesehaentradoenelbucle,todaslasinstruccionesenelbucleseejecutanparaelprimerelementoengrupo.Después,mientrashayamáselementosengrupo,lasinstruccionesenelbuclecontinúanejecutándoseparacadaelemento.Cuandonohaymáselementosenelgrupo,sesaledelbucleylaejecucióncontinúaconlainstrucciónquesiguealainstrucciónNext.

SepuedencolocarenelbuclecualquiernúmerodeinstruccionesExitFor.LainstrucciónExitForseutilizaamenudoenlaevaluacióndealgunacondición(porejemplo,If...Then)ytransfiereelcontrolalainstrucciónquesigueinmediatamentealainstrucciónNext.

PuedeanidarbuclesForEach...Next,colocandounbucleForEach...Next

dentrodeotro.Sinembargo,cadaelementodelbucledebeserúnico.

NotaSiomiteelementoenunainstrucciónNext,laejecucióncontinúacomosisehubieraincluido.SiseencuentraunainstrucciónNextantesdesuinstrucciónForcorrespondiente,seproduciráunerror.

NosepuedeutilizarlainstrucciónForEach...NextconunamatrizdetiposdefinidosporelusuarioporqueuntipoVariantnopuedeconteneruntipodefinidoporelusuario.

For...Next(Instrucción)

Repiteungrupodeinstruccionesunnúmeroespecificadodeveces.

Sintaxis

Forcontador=principioTofin[Stepincremento][instrucciones][ExitFor][instrucciones]

Next[contador]

LasintaxisdelainstrucciónFor...Nextconstadelassiguientespartes:

Parte Descripcióncontador Requerido.Variablenuméricaqueseutilizacomocontador

debucle.LavariablenopuedeserBooleananiunelementodematriz.

principiot Requerido.Valorinicialdelcontador.fin Requerido.Valorfinaldelcontador.incremento Opcional.Cantidadenlaquecambiaelcontadorcadavez

queseejecutaelbucle.Sinoseespecifica,elvalorpredeterminadodeincrementoesuno.

instrucciones Opcional.UnaomásinstruccionesentreForyNextqueseejecutanunnúmeroespecificadodeveces.

Comentarios

Elargumentoincrementopuedeserpositivoonegativo.Elvalordelargumentoincrementodeterminalamaneraenqueseprocesaelbucle,comosemuestraacontinuación:

Valor ElbucleseejcutasiPositivoo0 contador<=finNegativo contador>=fin

Unavezqueseiniciaelbucleysehanejecutadotodaslasinstruccionesenelbucle,incrementosesumaacontador.Enestepunto,lasinstruccionesdelbuclesepuedenejecutardenuevo(sisecumplelamismapruebaquecausóqueel

bucleseejecutarainicialmente)obiensesaledelbucleylaejecucióncontinúaconlainstrucciónquesiguealainstrucciónNext.

SugerenciaCambiarelvalordecontadormientrasestádentrodeunbuclehacedifícilsulecturaydepuración.

SepuedencolocarenelbuclecualquiernúmerodeinstruccionesExitForcomounamaneraalternativadesalirdelmismo.LainstrucciónExitFor,queseutilizaamenudoenlaevaluacióndealgunacondición(porejemplo,If...Then),transfiereelcontrolalainstrucciónquesigueinmediatamentealainstrucciónNext.

SepuedenanidarbuclesFor...Next,colocandounbucleFor...Nextdentrodeotro.Paraello,proporcioneacadabucleunnombredevariableúnicocomosucontador.Lasiguienteconstrucciónescorrecta:

ForI=1To10

ForJ=1To10

ForK=1To10

...

NextK

NextJ

NextI

NotaSiomiteuncontadorenunainstrucciónNext,laejecucióncontinúacomosisehubieraincluido.SeproduceunerrorsiseencuentraunainstrucciónNextantesdesuinstrucciónForcorrespondiente.

Function(Instrucción)

Declaraelnombre,losargumentosyelcódigoquecomponenelcuerpodeunprocedimientoFunction.

Sintaxis

[Public|Private|Friend][Static]Functionnombre[(lista_argumentos)][Astipo][instrucciones][nombre=expresión][ExitFunction][instrucciones][nombre=expresión]

EndFunction

LasintaxisdelainstrucciónFunctionconstadelassiguientespartes:

Parte DescripciónPublic Opcional.IndicaqueelprocedimientoFunctionesaccesible

paratodoslosdemásprocedimientosdetodoslosmódulos.SiseutilizaenunmóduloquecontieneOptionPrivate,elprocedimientonoestarádisponiblefueradelproyecto.

Private Opcional.IndicaqueelprocedimientoFunctionsóloesaccesibleparaotrosprocedimientosdelmódulodondesedeclara.

Friend Opcional.Seutilizasolamenteenunmódulodeclase.IndicaqueelprocedimientoFunctionesvisibleatravésdelproyecto,peronoesvisibleparauncontroladordeunainstanciadeunobjeto.

Static Opcional.Indicaquelasvariableslocalesdelprocedimiento

Functionseconservanentrelasdistintasllamadas.ElatributoStaticnoafectaalasvariablesquesedeclaranfueradeFunction,inclusoaunqueseutilicenenelprocedimiento.

Nombre Requerido.NombredelprocedimientoFunction;siguelasconvencionesestándardenombresdevariables.

lista_argumentos

Opcional.ListadevariablesquerepresentanargumentosquesepasanalprocedimientoFunctioncuandosellama.Lavariablesmúltiplesseseparanporcomas.

tipo Opcional.TipodedatosdelvalordevueltoporelprocedimientoFunction;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidoactualmente),Date,String,o(exceptolongitudfija),Object,Variant,ocualquiertipodefinidoporelusuario.

instrucciones Opcional.CualquiergrupodeinstruccionesquesevanaejecutardentrodelprocedimientoFunction.

expresión Opcional.ValorderetornodeFunction.

Elargumentolista_argumentostienelasiguientesintaxisypartes:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo][=valor_predeterminado]

Parte DescripciónOptional Opcional.Indicaqueunargumentonoesnecesario.Sise

utiliza,todoslosargumentosposterioresdelista_argumentostambiéndebenseropcionalesydeclararsemediantelapalabraclaveOptional.OptionalnosepuedeutilizarparacualquierargumentosiseempleaParamArray.

ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeselvalorpredeterminadoenVisualBasic.ParamArray Opcional.Sóloseutilizacomoúltimoargumentode

lista_argumentosparaindicarqueelúltimoargumentoesunamatrizOptionaldeelementosVariant.Lapalabraclave

ParamArraylepermiteproporcionarunnúmeroarbitrariodeargumentos.NopuedeutilizarseconByVal,ByRefuOptional.

nombre_variable

Requerido.Nombredelavariablequerepresentaelargumento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Tipodedatosdelargumentopasadoalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(nocompatibleactualmente),Date,String(sólolongitudvariable),Object,Variant,ountipodeobjetoespecífico.SielparámetronoesOptional,sepuedeespecificartambiénuntipodefinidoporelusuario.

valor_predeterminado

Opcional.Cualquierconstanteoexpresiónconstante.SóloesválidoparaparámetrosOptional.SieltipoesObject,unvalorpredeterminadoexplícitosólopuedeserNothing.

Comentarios

SinoseespecificandeformaexplícitamediantePublic,PrivateoFriend,losprocedimientosFunctionsonpúblicosdemanerapredeterminada.SinoseempleaStatic,elvalordelasvariableslocalesnoseconservaentredistintasllamadas.LapalabraclaveFriendsólopuedeusarseenmódulosdeclase.Sinembargo,puedeaccedersealosprocedimientosFriendporprocedimientosencualquiermódulodeunproyecto.UnprocedimientoFriendnoapareceenlabibliotecadetiposdesuclaseprimaria.

PrecauciónLosprocedimientosFunctionpuedenserrecursivos;esdecir,puedenllamarseasímismospararealizarunatareadeterminada.Sinembargo,larecursiónpuedeprovocareldesbordamientodepila.LapalabraclaveStaticnosesueleutilizarconprocedimientosFunctionrecursivos.

Todoelcódigoejecutabledebeestardentrodeprocedimientos.NopuededefinirunprocedimientoFunctiondentrodeotroprocedimientoFunction,SuboProperty.

LainstrucciónExitFunctionproduceunasalidainmediatadeunprocedimientoFunction.Laejecucióndelprogramacontinúaconlainstrucciónquesigueala

instrucciónquellamóalprocedimientoFunction.EncualquierlugardeunprocedimientoFunctionpuedeaparecercualquiernúmerodeinstruccionesExitFunction.

AligualqueunprocedimientoSub,unprocedimientoFunctionesunprocedimientoindependientequepuedeadoptarargumentos,realizarunaseriedeinstruccionesycambiarlosvaloresdesusargumentos.Sinembargo,adiferenciadeunprocedimientoSub,puedeutilizarunprocedimientoFunctionenelladoderechodeunaexpresióndelamismaformaenqueutilizacualquierfunciónintrínseca,comoSqr,CosoChr,cuandodeseaemplearelvalordevueltoporlafunción.

ParallamaraunprocedimientoFunction,utiliceenunaexpresiónelnombredefunciónseguidodelalistadeargumentosentreparéntesis.ConsultelainstrucciónCallparaobtenerinformaciónespecíficaacercadecómollamaralosprocedimientosFunction.

Paradevolverunvalordeunafunción,asigneelvaloralnombredelafunción.Encualquierlugardelprocedimientopuedeaparecercualquiernúmerodeasignacionesdeestetipo.Sinoseasignaningúnvaloranombre,elprocedimientodevolveráunvalorpredeterminado:unafunciónnuméricadevuelve0,unafuncióndecadenadevuelveunacadenadelongitudcero("")yunafunciónVariantdevuelveEmpty.UnafunciónquedevuelveunareferenciadeobjetodevuelveNothingsinoseasignaningunareferenciadeobjetoanombre(medianteSet)dentrodelprocedimientoFunction.

ElejemplosiguientemuestracómoasignarunvalorderetornoaunafunciónllamadaBinarySearch.Enestecaso,Falseseasignaalnombreparaindicarquenoseencontróalgúnvalor.

FunctionBinarySearch(...)AsBoolean

...

'Valornoencontrado.DevuelveunvalorFalse.

Iflower>upperThen

BinarySearch=False

ExitFunction

EndIf

...

EndFunction

LasvariablesempleadasenprocedimientosFunctionsedividenendoscategorías:lasquesedeclaranexplícitamentedentrodelprocedimientoylasqueno.Lasvariablesquesedeclaranexplícitamenteenunprocedimiento(medianteDimuotrainstrucciónequivalente)siempresonlocalesdelprocedimiento.Lasvariablesqueseutilizanperonosedeclaranexplícitamenteenunprocedimientotambiénsonlocales,amenosquesehayandeclaradoexplícitamenteenalgúnnivelsuperiorfueradelprocedimiento.

PrecauciónUnprocedimientopuedeutilizarunavariablequenosehadeclaradoexplícitamenteenelprocedimiento,peropuedeocurrirunconflictodenombressialgoquedefinióenunniveldemódulotieneelmismonombre.Sisuprocedimientohacereferenciaaunavariablenodeclaradaquetieneelmismonombrequeotroprocedimiento,constanteovariable,sesuponequeelprocedimientohacereferenciaaesenombreaniveldemódulo.Declareexplícitamentelasvariablesparaevitarestetipodeconflicto.PuedeutilizarunainstrucciónOptionExplicitparaforzarladeclaraciónexplícitadevariables.

PrecauciónVisualBasicpuedereorganizarlasexpresionesaritméticasparamejorarsueficaciainterna.EviteutilizarunprocedimientoFunctionenunaexpresiónaritméticacuandolafuncióncambieelvalordelasvariablesdelamismaexpresión.

Get(Instrucción)

Leedatosdeunarchivodediscoabiertoycolocalainformaciónenunavariable.

Sintaxis

Get[#]númeroarchivo,[númeroregistro],nombrevariable

LasintaxisdelainstrucciónGetconstadelassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.númeroregistro Opcional.UntipoVariant(Long).Númeroderegistro

(archivosenmodoRandom)onúmerodebyte(archivosenmodoBinary)desdeelquecomienzalalectura.

nombrevariable Requerido.Nombredeunavariableválidaenlaquesecolocanlosdatos.

Comentarios

LosdatosqueseleenconGetseescribenhabitualmenteenunarchivoconPut.

Elprimerregistroobytedeunarchivoseencuentraenlaposición1,elsegundoenlaposición2yasísucesivamente.Siomitenúmeroregistro,seleeelsiguienteregistroobytequeseencuentradespuésdelaúltimainstrucciónGetoPut(oalqueseñalalaúltimafunciónSeek).Debeincluirlascomasdedelimitación,por

ejemplo:

Get#4,,BúferArchivo

EnlosarchivosabiertosenmodoRandomseaplicanlassiguientesreglas:

AunquelalongituddelainformaciónqueseleeseamenorquelaespecificadaenlacláusulaLendelainstrucciónOpen,Getleelosregistrossiguientessegúnloslímitesdelongitudderegistro.Elespaciocomprendidoentreelfinaldeunregistroyelprincipiodelsiguientesellenaconelcontenidodelbúferdelarchivo.Puestoquelacantidaddelainformaciónderellenonosepuededeterminarconcerteza,esconvenientehacerqueelregistrotengalamismalongitudquelainformaciónqueselee.

Silavariableenlaqueseleelainformaciónesunacadenadecaracteresdelongitudvariable,Getleeundescriptorde2bytesquecontienelalongituddelacadenadecaracteresyacontinuaciónlosdatosquevanenlavariable.Porlotanto,lalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebeserporlomenos2bytesmayorquelalongitudrealdelacadenadecaracteres.

SilavariablequesevaaleeresunavariableVariantdetiponumérico,Getlee2bytesqueidentificanelVarTypedeltipoVariantyluegolosdatosquevanenlavariable.Porejemplo,cuandoseleeuntipoVariantdeVarType3,Getlee6bytes:2bytesidentificaneltipoVariantcomoVarType3(Long)y4bytescontieneneldatotipoLong.Lalongituddelregistro,especificadaporlacláusulaLendelainstrucciónOpen,debeserporlomenos2bytesmayorqueelnúmerorealdebytesnecesarioparaalmacenarlavariable.NotaPuedeutilizarlainstrucciónGetparaleerunamatrizVariantdeldisco,peronopuedeemplearGetparaleerunaVariantescalarquecontengaunamatrizTampocopodráutilizarGetparaleerobjetosdeldisco.

SilavariablequesevaaleeresunaVariantdetipoVarType8(String),Getlee2bytesqueidentificanelVarType,2bytesqueindicanlalongituddelacadenadecaracteresyluegolapropiacadena.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebeserporlomenos4bytesmayorquelalongitudrealdelacadena.

Silavariantequevaaleeresunamatrizdinámica,Getleeundescriptorcuyalongitudequivalea2más8veceselnúmerodedimensiones,esdecir,2+8*NumberOfDimensions.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebesermayoroigualquelasumadetodoslosbytesnecesariosparaleerlosdatosyeldescriptordelamatriz.Porejemplo,lasiguientedeclaracióndematrizrequiere118bytescuandolamatrizseescribeendisco.DimMiMatriz(1To5,1To10)AsInteger

Los118bytessedistribuyendelasiguienteforma:18bytesparaeldescriptor(2+8*2)y100bytesparalosdatos(5*10*2).

Silavariablequevaaleeresunamatrizdetamañofijo,Getleesolamentelosdatos.Noleeningúndescriptor.

Silavariablequevaaleerescualquierotrotipodevariable(nounacadenadelongitudvariableniuntipoVariant),Getleesolamentelosdatosvariables.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebesermayoroigualquelalongituddelosdatosqueestáleyendo.

Getleeelementosdetiposdefinidosporelusuariocomosicadaunodeellosseleyeraindividualmente,exceptoenquenohayrellenoentreloselementos.Endisco,unamatrizdinámicadeuntipodefinidoporelusuario(escritoconPut)tienecomoprefijoundescriptorcuyalongitudesiguala2más8veceselnúmerodedimensiones,esdecir,2+8*NumberOfDimensions.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebesermayoroigualquelasumadetodoslosbytesnecesariosparaleercadaunodeloselementos,incluyendolasmatricesysusdescriptores.

EnlosarchivosabiertosenmodoBinarytienenvigenciatodaslasreglasdelmodoRandom,conlassiguientesexcepciones:

LacláusulaLendelainstrucciónOpennotieneefecto.Getleedeldiscotodaslasvariablesenformacontigua,esdecir,sinrellenoentreregistros.

Paracualquiermatrizdistintadelasutilizadasenuntipodefinidoporelusuario,Getleesolamentelosdatos.Noleeningúndescriptor.

Getleelascadenasdecaracteresdelongitudvariablequenosonelementosdetiposdefinidosporelusuario,sinesperareldescriptordelongitudde2bytes.Elnúmerodebytesleídosesigualalnúmerodecaracteresexistentesenlacadena.Porejemplo,lassiguientesinstruccionesleen10bytesdelarchivonúmero1:VarCadena=String(10,"")

Get#1,,VarCadena

GoSub...Return(Instrucción)

Saltaaunasubrutinadesdeunprocedimientoparaposteriormentevolveraél.

Sintaxis

GoSublínea...línea...

Return

Elargumentolíneapuedesercualquieretiquetadelíneaonúmerodelínea.

Comentarios

PuedeutilizarGoSubyReturnencualquierlugardeunprocedimiento,peroGoSubysucorrespondienteReturndebenestarenelmismoprocedimiento.UnasubrutinapuedecontenermásdeunainstrucciónReturn,perolaprimerainstrucciónReturnqueseencuentrahacequeelflujodelaejecuciónregresealainstrucciónquesigueinmediatamentealainstrucciónGoSubejecutadamásrecientemente.

NotaNosepuedeentrarosalirdeprocedimientosSubutilizandounainstrucciónGoSub...Return.

SugerenciaLacreacióndeprocedimientosseparadosalosquepuedellamarproporcionaunaalternativamásestructuradaqueelusodeGoSub...Return.

GoTo(Instrucción)

Saltaincondicionalmenteaunalíneaespecificadaenunprocedimiento.

Sintaxis

GoTolínea

Elargumentolíneapuedesercualquieretiquetadelíneaonúmerodelínea.

Comentarios

GoTosolamentepuedesaltaralíneasdelprocedimientoenelqueaparece.

NotaDemasiadasinstruccionesGoTopuedenserdifícilesdeleerydedepurar.Siemprequeseaposible,utiliceinstruccionesdecontrolestructuradas(Do...Loop,For...Next,If...Then...Else,SelectCase).

If...Then...Else(Instrucción)

Ejecutacondicionalmenteungrupodeinstrucciones,dependiendodelvalordeunaexpresión.

Sintaxis

IfcondiciónThen[instrucciones]-[Elseinstrucciones_else]

Puedeutilizarlasiguientesintaxisenformatodebloque:

IfcondiciónThen[instrucciones]

[ElseIfcondición-nThen[instrucciones_elseif]...

[Else[instrucciones_else]]

EndIf

LasintaxisdelainstrucciónIf...Then...Elseconstadetrespartes:

Parte Descripcióncondición Requerido.Unoomásdelossiguientesdostiposde

expresiones: Unaexpresiónnuméricaoexpresióndecadenaquepuede

serevaluadacomoTrueoFalse.SicondiciónesNull,condiciónseconsideraFalse.

UnaexpresióndelformularioTypeOfnombre_objetoIstipo_objeto.Elnombre_objetoescualquierreferenciaalobjetoytipo_objetoescualquiertipodeobjetoválido.LaexpresiónesTruesinombre_objetoesdeltipodeobjetoespecificadoportipo_objeto;encasocontrarioesFalse.

instrucciones Opcionalenformatodebloque;serequiereenformatodelíneasencillaquenotengaunacláusulaElse.UnaomásinstruccionesseparadaspordospuntosejecutadossilacondiciónesTrue.

condición-n Opcional.Igualquecondición.instrucciones_elseifOpcional.Unaomásinstruccionesejecutadassila

condición-nasociadaesTrue.instrucciones_else Opcional.Unaomásinstruccionesejecutadassiningunade

lasexpresionesanteriorescondiciónocondición-nesTrue.

Comentarios

Puedeutilizarlaformadeunasolalínea(Sintaxis1)parapruebascortasysencillas.Sinembargo,elformatodebloque(Sintaxis2)proporcionamásestructurayflexibilidadquelaformadelíneasimpley,generalmente,esmásfácildeleer,demantenerydedepurar.

NotaConlasintaxisesposibleejecutarmúltiplesinstruccionescomoresultadodeunadecisiónIf...Then,perotodasdebenestarenlamismalíneayseparadaspordospuntos,comoenlainstrucciónsiguiente:

IfA>10ThenA=A+1:B=B+A:C=C+B

UnainstrucciónconformatodebloqueIfdebeserlaprimeradelalínea.LaspartesElse,ElseIfyEndIf,delainstrucción,solamentepuedenirprecedidasdeunnúmerodelíneaounaetiquetadelínea.ElbloqueIfdebeterminarconunainstrucciónEndIf.

ParadeterminarsiunainstrucciónIfesunbloque,examineloquesigueala

palabraclaveThen.SiloqueaparecedetrásdeThenenlamismalíneanoesuncomentario,lainstrucciónseconsideracomounainstrucciónIfdeunasolalínea.

LascláusulasElseyElseIfsonopcionales.PuedetenerenunbloqueElseIf,tantascláusulasIfcomodesee,peroningunapuedeaparecerdespuésdeunacláusulaElse.LasinstruccionesdebloqueIfsepuedenanidar;esdecir,unaspuedenconteneraotras.

CuandoseejecutaunbloqueIf(Sintaxis2),sepruebacondición.SicondiciónesTrue,seejecutanlasinstruccionesqueestánacontinuacióndeThen.SicondiciónesFalse,seevalúanunaaunalascondicionesElseIf(siexisten).CuandoseencuentraunacondiciónTrueseejecutanlasinstruccionesquesigueninmediatamentealainstrucciónThenasociada.SiningunadelascondicionesElseIfesTrue(osinohaycláusulasElseIf),seejecutanlasinstruccionesquesiguenaElse.DespuésdelaejecucióndelasinstruccionesquesiguenaThenoElse,laejecucióncontinúaconlainstrucciónquesigueaEndIf.

SugerenciaSelectCasepuedesermásútilcuandoseevalúaunaúnicaexpresiónquetienevariasaccionesposibles.Sinembargo,lacláusulaTypeOfnombre_objetoIstipo_objetonosepuedeutilizarenunainstrucciónSelectCase.

NotaNosepuedeusarTypeOfcontiposdedatospredefinidoscomoLong,Integeryasísucesivamente,exceptoeneltipodedatosObject.

Input#(Instrucción)

Leedatosdeunarchivosecuencialabiertoyasignaesosdatosavariables.

Sintaxis

Input#númeroarchivo,listavariables

LasintaxisdelainstrucciónInput#constadelassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.listavariables Requerido.Listadevariablesdelimitadaporcomasquese

asignanalosvaloresqueseleendeunarchivo;nopuedeserunamatrizounavariabledeobjeto.Sinembargo,esposibleusarvariablesquedescribenelementosdeunamatrizodeuntipodefinidoporelusuario.

Comentarios

LosdatosleídosconInput#seescribennormalmenteenunarchivoconWrite#.UseestainstrucciónsóloconarchivosabiertosenmodoInputoBinary.

Cuandoseleendatosnuméricosocadenasestándar,seasignantalcualavariables.Lasiguientetablailustralamaneraenquesetratalaentradadeotrostiposdedatos:

Datos ValorasignadoalavariablePuntoycomadedelimitaciónolíneaenblanco

Empty

#NULL# Null#TRUE#o#FALSE# TrueoFalse#yyyy-mm-ddhh:mm:ss# Eldíaolahorarepresentadasporlaexpresión#ERRORerrornumber# errornumber(lavariableesuntipoVariant

etiquetadacomounerror)

Seignoranlascomillasdobles("")enlaentradadedatos.

NotaNodeberíaescribircadenasquecontenganmarcasdecomillasincrustadas,porejemplo,"1,2""X"parautilizarlasconlainstrucciónInput#:Input#analizalacadenacomodoscadenascompletasyseparadas.

Loselementosdedatosdeunarchivodebenaparecerenelmismoordenquetienenlasvariablesenlistavariablesydebencoincidirconvariablesdelmismotipodedatos.Siunavariableesnuméricaylosdatosnoloson,seasignaunvalorceroaesavariable.

Sisellegaalfindelarchivocuandoseestáintroduciendounelementodedatos,sedaporterminadalaentradayseproduceunerror.

NotaParaintroducircorrectamenteenvariablesmedianteInput#losdatosleídosdeunarchivo,utilicesiemprelainstrucciónWrite#,enlugardePrint#,paragrabarlainformaciónenlosarchivos.LautilizacióndeWrite#garantiza

quecadacampodedatosseparadosedelimitecorrectamente.

Kill(Instrucción)

Eliminaarchivosdeldisco.

Sintaxis

Killnombre_ruta

Elargumentorequeridonombre_rutaesunaexpresióndecadenaqueespecificaunoomásnombresdearchivosquesevanaeliminar.Puedeincluireldirectorioocarpetaylaunidaddedisco.

Comentarios

EnMicrosoftWindows,LafunciónKillpermiteelusodeloscaracterescomodín'*'(múltiplescaracteres)y'?'(unsolocarácter)paraespecificarvariosarchivos.Sinembargo,enMacintosh,estoscaracteressontratadoscomocaracteresdenombredearchivoválidosynosepuedenutilizarcomocomodines

paraespecificarmúltiplesnombresdearchivo.

ComoMacintoshnoadmitecomodines,utiliceeltipodearchivoparaidentificargruposdearchivosaborrar.PuedeutilizarlafunciónMacIDparaespecificareltipodearchivoenlugarderepetirelcomandocondistintosnombresdearchivos.Porejemplo,lasiguienteinstrucciónborrartodoslosarchivosdeTEXTOenlacarpetaactual.

KillMacID("TEXT")

SiutilizalafunciónMacIDconKillenMicrosoftWindows,seproduciráunerror.

SeproduciráunerrorsiintentausarlainstrucciónKillparaeliminarunarchivoabierto.

NotaParaeliminardirectorios,utilicelainstrucciónRmDir.

Let(Instrucción)

Asignaelvalordeunaexpresiónaunavariableopropiedad.

Sintaxis

[Let]nombre_variable=expresión

LasintaxisdelainstrucciónLetconstadelassiguientespartes:

Parte DescripciónLet Opcional.ElusoexplícitodelapalabraclaveLetesunacuestión

deestilo,peronormalmenteseomite.nombre_variable

Requerido.Nombredelavariableodelapropiedad;siguelasconvencionesestándardenombresdevariables.

expresión Requerido.Valorasignadoalavariableoalapropiedad.

Comentarios

Unaexpresióndevalorsepuedeasignaraunavariableoaunapropiedadsólosiesdeuntipodedatoscompatibleconlavariable.Nopuedeasignarexpresionesdecadenaavariablesnuméricasniasignarexpresionesnuméricasavariablesdecadena.Silohace,ocurriráunerrorentiempodecompilación.

LasvariablesVariantpuedenasignarseaexpresionesdecadenaonuméricas.Sinembargo,locontrarionosiempreesverdadero.CualquierVariantexceptoNullpuedeasignarseaunavariabledecadena,perosólounaVariantcuyovalorpuedainterpretarsecomounnúmerosepuedeasignaraunavariablenumérica.UselafunciónIsNumericparadeterminarsilaVariantsepuedeconvertiraunnúmero.

PrecauciónSiasignaunaexpresióndeuntiponuméricoaunavariabledeuntipodedatosnuméricosdiferente,forzaráqueelvalordelaexpresiónseadeltiponuméricodelavariableresultante.

LasinstruccionesLetsepuedenutilizarparaasignarunavariablederegistroaotrasólocuandoambasvariablessondelmismotipodefinidoporelusuario.UtilicelainstrucciónLSetparaasignarvariablesderegistrodediferentestiposdefinidosporelusuario.UtilicelainstrucciónSetparaasignarreferenciasdeobjetosavariables.

LineInput#(Instrucción)

LeeunalíneadeunarchivosecuencialabiertoylaasignaaunavariableString.

Sintaxis

LineInput#númeroarchivo,nombrevariable

LasintaxisdelainstrucciónLineInput#constalassiguientespartes:

Parte Descripción

númeroarchivo Requerido.Cualquiernúmerodearchivo.nombrevariable Requerido.UnVariantounnombredevariableString

válido.

Comentarios

LosdatosqueseleenconLineInput#normalmenteseescribenenunarchivoconPrint#.

LainstrucciónLineInput#leeuncaráctercadavezenunarchivohastaqueencuentraunretornodecarro(Chr(13))ounasecuenciaretornodecarro-avancedelínea(Chr(13)+Chr(10)).Lassecuenciasderetornodecarro-avancedelíneanosetienenencuentaynoseañadenalacadenadecaracteres.

Load(instrucción)

Cargaunobjetoperonolomuestra.

Sintaxis

Loadobjeto

ElmarcadordeposiciónobjetorepresentaunaexpresióndeobjetoqueevaluaunobjetoenlalistaSeaplicaa.

Comentarios

Cuandosecargaunobjeto,secolocaenlamemoria,peronoesvisible.UtiliceelmétodoShowparahacerlovisible.Mientrasunobjetonoseavisible,unusuarionopuedeinteractuarconél.

Lock,Unlock

(Instrucciones)

ControlaelaccesoporpartedeotrosprocesosatodoopartedeunarchivoabiertomediantelainstrucciónOpen.

Sintaxis

Lock[#]númeroarchivo[,intervaloregistros]...

Unlock[#]númeroarchivo[,intervaloregistros]

LasintaxisdelasinstruccionesLockyUnlockconstalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.intervaloregistros Opcional.Elintervaloderegistrosparabloquearo

desbloquear.

Valores

Losposiblesvaloresdelargumentointervaloregistrosson:

númeroregistro|[inicio]Tofin

Valor Descripciónnúmeroregistro Númeroderegistro(archivosdemodoRandom)onúmero

debyte(archivosdemodoBinary)enelquecomienzaelbloqueooeldesbloqueo.

inicio Númerodelprimerregistroobyteparabloquearodesbloquear.

fin Númerodelúltimoregistroobyteparabloquearodesbloquear.

Comentarios

LasinstruccionesLockyUnlockseutilizanenentornosdondevariosprocesospuedennecesitaraccesoalmismoarchivosimultáneamente.

LasinstruccionesLockyUnlockseutilizansiempreporparejas.LosargumentosdeLockyUnlockdebencoincidirexactamente.

Elprimerregistroobytedeunarchivoseencuentraenlaposición1,elsegundoenlaposición2yasísucesivamente.Siespecificasólounregistro,sólosebloqueaosedesbloqueaeseregistro.Siespecificaunintervaloderegistrosyomiteelregistrodeinicio(inicio),sebloqueanosedesbloqueantodoslosregistrosapartirdelprimerohastaelúltimo(fin)delintervalo.SiseutilizaLocksinnúmeroregistrosebloqueatodoelarchivoysiseutilizaUnlocksinnúmeroregistrosedesbloqueatodoelarchivo.

Sielarchivosehaabiertoparaefectuaroperacionessecuencialesdeentradaosalida,LockyUnlockafectanalarchivocompleto,independientementedelintervaloespecificadoporinicioyfin.

PrecauciónAntesdecerrarunarchivooterminarlaejecucióndeunprograma,noolvidequitartodoslosbloqueospormediodeunainstrucciónUnlock.Sinosequitantodoslosbloqueossepuedenobtenerresultadosimpredecibles.

LSet(Instrucción)

Alineaalaizquierdaunacadenaenunavariabledecadenaocopiaunavariabledeuntipodefinidoporelusuarioaotravariabledeuntipodedatosdiferentedefinidoporelusuario.

Sintaxis

LSetvarcadena=cadena

LSetnombrevar1=nombrevar2

LasintaxisdelainstrucciónLSetconstadelassiguientespartes:

Parte Descripciónvarcadena Requerido.Nombredevariabledecadena.cadena Requerido.Expresióndecadenaquesevaaalinearala

izquierdaenvarcadena.nombrevar1 Requerido.Nombredevariabledeltipodedatosdefinido

porelusuarioalaquesecopia.nombrevar2 Requerido.Nombredevariabledeltipodedatosdefinido

porelusuariodesdelaquesecopia.

Comentarios

LSetreemplazaconespaciosenblancoloscaracteressobrantesenvarcadena.

Sicadenaesmáslargaquevarcadena,LSetcolocasóloloscaracteresqueestánmásalaizquierda,hastalalongituddevarcadena,envarcadena.

AdvertenciaNoserecomiendautilizarLSetparacopiarunavariabledeuntipodedatosdefinidoporelusuarioaunavariabledeotrotipodedatosdiferentedefinidoporelusuario.Copiardatosdeuntipodedatosenunespacioreservadoparaotrotipodedatosdiferentepuedeocasionarresultadosimprevisibles.

Cuandocopiaunavariabledeuntipodedatosdefinidoporelusuarioaotro,simplementesecopianlosdatosbinariosdeunavariableenelespaciodememoriadelaotra,sintenerencuentalostiposdedatosespecificadosparaloselementosincluidosdentrodedichoespacio.

Mid

(Instrucción)

ReemplazaunnúmeroespecificadodecaracteresenunavariabledetipoVariant(String)concaracteresdeotracadena.

Sintaxis

Mid(varcadena,inicio[,longitud])=cadena

LasintaxisdelafunciónMidconstadelassiguientespartes:

Parte Descripciónvarcadena Requerido.Nombredelavariabledecadenaquesevaa

modificar.inicio Requerido;untipoVariant(Long).Posicióndecarácteren

varcadenadondeempiezaeltextoquesevaareemplazar.longitud Opcional;untipoVariant(Long).Númerodecaracteresque

sevaareemplazar.Siseomiteseutilizatodalacadena.cadena Requerido.Expresióndecadenaquereemplazapartede

varcadena.

Comentarios

Elnúmerodecaracteresreemplazadosessiempremenoroigualalnúmerodecaracteresenvarcadena.

NotaUtilicelainstrucciónMidBcondatosdebyteincluidosenunacadena.EnlainstrucciónMidB,inicioespecificalaposicióndebytedentrodevarcadenadondecomienzalasustituciónylongitudespecificaelnúmerodebytesquesevaareemplazar.

MkDir(Instrucción)

Creaundirectorioocarpeta.

Sintaxis

MkDirruta

Elargumentorequeridorutaesunaexpresióndecadenaqueidentificaeldirectorioocarpetaquesevaacrear.Puedeincluirlaunidaddedisco.Sinoseespecificalaunidaddedisco,lainstrucciónMkDircreaeldirectorioocarpetaenlaunidaddediscoactual.

Name

(Instrucción)

Cambiaelnombredeunarchivo,directorioocarpeta.

Sintaxis

Namenombre_ruta_antiguaAsnombre_ruta_nueva

LasintaxisdelainstrucciónNameconstadelassiguientespartes:

Parte Descripciónnombre_ruta_antigua Requerido.Expresióndecadenaqueespecificael

nombreylaposicióndearchivoexistente.Puedeincluireldirectorioolacarpetaylaunidaddedisco.

nombre_ruta_nueva Requerido.Expresióndecadenaqueespecificaelnombrenuevoylaposicióndelarchivo.Puedeincluireldirectorioolacarpetaylaunidaddedisco.Elnombreyposiciónespecificadosennombre_ruta_nuevano

puedenserlosdeunarchivoexistente.

Comentarios

LainstrucciónNamecambiaelnombredeunarchivoylomueveaundirectorioocarpetadiferente,siesnecesario.Namepuedemoverunarchivoatravésdeunidadesperosólopuedecambiarelnombreaundirectorioocarpetaexistentecuandotantonombre_ruta_antiguacomoelnombre_ruta_nuevaestánubicadosenlamismaunidad.Namenopuedecrearunnuevoarchivo,directorioocarpeta.

SiseutilizalainstrucciónNameconunarchivoabiertoseproduciráunerror.Cierreunarchivoantesdecambiarleelnombre.LosargumentosdelainstrucciónNamenopuedenincluircaracterescomodínmúltiples(*)nisencillos(?).

OnError(Instrucción)

Activaunarutinadecontroldeerroresyespecificalaubicacióndelamismaenunprocedimiento;tambiénpuedeutilizarseparadesactivarunarutinadecontroldeerrores.

Sintaxis

OnErrorGoTolínea

OnErrorResumeNext

OnErrorGoTo0

LasintaxisdelainstrucciónOnErrorpuedetenercualquieradelosformatossiguientes:

Instrucción DescripciónOnErrorGoTolínea Activalarutinadecontroldeerroresquecomienzaen

lalíneaespecificadaenelargumentonecesariolínea.Elargumentolíneaescualquieretiquetadelíneaonúmerodelínea.Siseproduceunerrorentiempodeejecución,elcontrolpasaalínea,activandoelcontroladordeerrores.LalíneaespecificadaenelargumentolíneadebeencontrarseenelmismoprocedimientoquelainstrucciónOnError;odelo

contrario,seproduciráunerrorentiempodecompilación.

OnErrorResumeNext

Especificaque,encasodequeseproduzcaunerrorentiempodeejecución,elcontrolpasealainstrucciónquesigueinmediatamenteaaquéllaenlaquesehaproducidoelerror,dondecontinúalaejecución.SerecomiendautilizaresteformatoenlugardeOnErrorGoTocuandoaccedaaobjetos.

OnErrorGoTo0 Desactivacualquiercontroladordeerroresdelprocedimientoactual.

Comentarios

SinoutilizaunainstrucciónOnError,cualquiererrorentiempodeejecuciónqueseproduzcaseráfatal;esdecir,apareceráunmensajedeerrorylaejecuciónsedetendrá.

Uncontroladordeerrores"activado"esaquélquesehahabilitadomedianteunainstrucciónOnErroryuncontroladordeerrores“activo"esuncontroladoractivadoqueseencuentraenelprocesodetratarunerror.Siseproduceunerrormientrasuncontroladorestáactivo(entrelaaparicióndelerroryunainstrucciónResume,ExitSub,ExitFunctionoExitProperty),elcontroladordeerroresdelprocedimientoactualnopuedetratarlo.Elcontrolvuelvealprocedimientoquehacelallamada,ysiéstecuentaconuncontroladordeerroresactivado,seutilizaesecontroladorparatratarelerror.Sitambiénestáactivoelcontroladordeerrordelprocedimientoquehacelallamada,elcontrolvuelvehacialosprocedimientosllamadoresanterioreshastallegarauncontroladordeerroractivado,peronoactivo.Sinoseencuentrauncontroladordeerroresactivadoeinactivo,elerroresfatalenelpuntoenelqueseprodujo.Cadavezqueelcontroladordeerroresdevuelveelcontrolalprocedimientoquehacelallamada,ésteseconvierteenelprocedimientoactual.Unaveztratadounerrorconuncontroladorencualquierprocedimiento,laejecucióncontinúaenelprocedimientoactualenelpuntodesignadoporlainstrucciónResume.

NotaUnarutinadecontroldeerroresnoesunprocedimientoSubniFunction.Esunaseccióndecódigomarcadaconunaetiquetaounnúmerodelínea.

LasrutinasdecontroldeerroressebasanenelvalordelapropiedadNumberdelobjetoErrparadeterminarlacausadelerror.UnarutinadecontroldeerroresdebecomprobaryguardarlosvaloresdelaspropiedadesdelobjetoErrantesdequepuedaproducirseotroerroroantesdequesellameaunprocedimientoquepuedacausarlo.LosvaloresdelaspropiedadesdelobjetoErrreflejansolamenteelerrormásreciente.ElmensajedeerrorasociadoaErr.NumberseencuentraenErr.Description.

OnErrorResumeNexthacequelaejecucióncontinúeenlainstrucciónquesigueinmediatamentealaquecausóelerrorentiempodeejecución,oenlaquesigueinmediatamentealaúltimallamadadesdeelprocedimientoquecontienelainstrucciónOnErrorResumeNext.Estainstrucciónpermitecontinuarlaejecuciónapesardequesehayaproducidounerrorentiempodeejecución..Puedecolocarlarutinadecontroldeerroresdondeseproduciríaelerror,envezdetransferirelcontrolaotraposicióndentrodelprocedimiento.LainstrucciónOnErrorResumeNextpasaaestarinactivacuandosellamaaotroprocedimiento,portantousteddebeejecutarunainstrucciónOnErrorResumeNextencadarutinaquellamadasideseauncontroldeerroresintegradodentrodelapropiarutina.

NotaLaconstrucciónOnErrorResumeNextpuedeserpreferibleaOnErrorGoTocuandosetratenerroresgeneradosduranteelaccesoaotrosobjetos.ComprobarErrdespuésdecadainteracciónconunobjetoeliminalaambigüedadencuantoaquéobjetoestabaaccediendoelcódigocuandoseprodujoelerror.DeestemodopuedesaberquéobjetohacolocadoelcódigodeerrorenErr.Number,asícomoquéobjetogeneróoriginalmenteelerror(elobjetoespecificadoenErr.Source).

OnErrorGoTo0desactivaelcontroldeerroresenelprocedimientoactual.Noespecificalalínea0comoeliniciodelcódigodecontroldeerrores,nisiquieracuandoelprocedimientocontieneunalíneaconelnúmero0.SinunainstrucciónOnErrorGoTo0,elcontroldeerroressedesactivaautomáticamentealsalirdelprocedimiento.

Paraevitarqueelcódigodecontroldeerroresseejecutecuandonosehaproducidoningúnerror,coloqueunainstrucciónExitSub,ExitFunctionoExitPropertyinmediatamenteantesdelarutinadecontroldeerrores,comoenelejemplosiguiente:

SubInicializarMatriz(Var1,Var2,Var3,Var4)

OnErrorGoToControlErrores

...

ExitSub

ControlErrores:

...

ResumeNext

EndSub

Aquí,elcódigodecontroldeerroresvieneacontinuacióndelainstrucciónExitSubyprecedeaEndSubparasepararlodelflujonormaldelprocedimiento.Elcódigodecontroldeerrorespuedesituarseencualquierlugardelprocedimiento.

Loserroresnointerceptadosenlosobjetossedevuelvenalaaplicaciónqueloscontrolacuandoelobjetoestátrabajandocomounarchivoejecutable.Enelentornodedesarrollo,estoserroressólosedevuelvenalaaplicaciónsiseestablecenlasopcionesadecuadas.Consulteladocumentacióndesuaplicaciónhostparaunadescripcióndelasopcionesquedebenestablecerseduranteladepuración,cómoestablecerlasysielhostpuedecrearclases.

Sicreaunobjetoqueaccedeaotrosobjetos,deberáintentartratarloserroresquetalesobjetosdevuelvansinprocesar.Sinopuedetratarlos,copieelcódigodeerrorenErr.Numberenunodesuspropioserroresyluegopáselosalelementoquellamóasuobjeto.DebeespecificarelerroragregandosupropiocódigodeerroralaconstantevbObjectError.Porejemplo,sisucódigodeerrores1052,asígnelodeestaforma:

Err.Number=vbObjectError+1052

NotaLoserroresdelsistemaalrealizarllamadasabibliotecasdevínculosdinámicos(DLL)orecursosdecódigodeMacintoshnogeneranexcepcionesynosepuedentratarconelcontroldeerroresdeVisualBasic.AlllamarafuncionesDLL,debecomprobarenlosvaloresdevueltossilafunciónhatenidoéxitoohafracasado(segúnlasespecificacionesdelaAPI)y,enelcasodeunfallo,comprobarelvalordelapropiedadLastDLLErrordelobjetoErr.LastDLLErrorsiempredevuelveceroenMacintosh.

On...GoSub,On...GoTo(Instrucciones)

Saltaaunadelaslíneasespecificadas,dependiendodelvalordeunaexpresión.

Sintaxis

OnexpresiónGoSublista_destino

OnexpresiónGoTolista_destino

LasintaxisdelasinstruccionesOn...GoSubyOn...GoToconstadelassiguientespartes:

Parte Descripciónexpresión Requerido.Cualquierexpresiónnuméricacuyovaloresun

númeroenteroentre0y255,inclusive.Siexpresiónescualquiernúmeronoentero,seredondeaantesdeevaluarse.

lista_destino Requerido.Listadenúmerosdelíneaoetiquetasdelíneaseparadosporcomas.

Comentarios

Elvalordeexpresióndeterminaaquélíneadelista_destinosaltalaejecución.Sielvalordeexpresiónesmenorque1omayorqueelnúmerodeelementosenlalista,seproduceunodelossiguientesresultados:

Siexpresiónes EntoncesIguala0 Elcontrolsetransfierealainstrucción

quesigueaOn...GoSuboOn...GoTo.Mayorqueelnúmerodeelementosenunalista

ElcontrolsetransfierealainstrucciónquesigueaOn...GoSuboOn...GoTo.

Negativo Seproduceunerror.Mayorque255 Seproduceunerror.

Puedenmezclarnúmerosdelíneayetiquetasdelíneaenlamismalista.EnlaprácticanohaylímiteparaelnúmerodeetiquetasdelíneaodenúmerosdelíneaquesepuedenutilizarconOn...GoSubyOn...GoTo.Sinembargo,siutilizamásetiquetasonúmerosdelosquepuedecontenerunalíneasimple,debeutilizarelcarácterdecontinuacióndelíneaparaseguirlalínealógicaenlasiguientelíneafísica.

SugerenciaSelectCaseproporcionaunamaneramásestructuradayflexiblederealizarsaltosmúltiples.

Open(Instrucción)

Activaoperacionesdeentrada/salida(E/S)conunarchivo.

Sintaxis

Openrutaacceso[Formodo][Accessacceso][bloquear]As[#]númeroarchivo[Len=longitudregistro]

LasintaxisdelainstrucciónOpenconstalassiguientespartes:

Parte Descripción

rutaacceso Requerido.Expresióndecadenaqueespecificaunnombredearchivo;puedeincluireldirectorioocarpetaylaunidaddedisco.

modo Requerido.Palabraclavequeespecificaelmododearchivo:Append,Binary,Input,OutputoRandom.Sinoseespecifica,elarchivoseabreconaccesoRandom.

acceso Opcional.Palabraclavequeespecificalasoperacionespermitidasenelarchivoabierto:Read,WriteoReadWrite.

bloquear Opcional.Palabraclavequeespecificalasoperacionespermitidasenelarchivoabiertoporotrosprocesos:Shared,LockRead,LockWriteyLockReadWrite.

númeroarchivo Requerido.Unnúmerodearchivoválidoentre1y511inclusive.ParaobtenerelnúmerodelsiguientearchivodisponibleseutilizalafunciónFreeFile.

longitudregistro Opcional.Númeroigualoinferiora32.767bytes.Enarchivosabiertosparaaccesoaleatorio,estevaloreslalongituddelregistro.Paraarchivossecuenciales,estevaloreselnúmerodecaracteresalmacenadosenbúfer.

Comentarios

AntesdepoderejecutarunaoperacióndeE/Senunarchivo,éstedebeestarabierto.OpenasignaunbúferparaoperacionesdeE/Sconelarchivoydeterminaelmododeaccesoquesedebeutilizarconelbúfer.

Sielarchivoespecificadoconrutaaccesonoexiste,secreaalabrirunarchivoenlosmodosAppend,Binary,OutputoRandom.

Sielarchivoyalohaabiertootroprocesoynosepermiteeltipodeaccesoespecificado,laoperaciónOpenfracasayseproduceunerror.

LacláusulaLenseignorasimodoesBinary.

ImportanteEnlosmodosBinary,InputyRandomsepuedeabrirunarchivoutilizandounnúmerodearchivodistintosinnecesidaddecerrarloantes.EnlosmodosAppendyOutputdebecerrarelarchivoparapoderabrirloconunnúmerodearchivodistinto.

OptionBase(Instrucción)

Seusaenelniveldemóduloparadeclararellímiteinferiorpredeterminadoparasubíndicesdematriz.

Sintaxis

OptionBase{0|1}

Comentarios

Comolabasepredeterminadaes0,lainstrucciónOptionBasenuncaserequiere.Sinembargo,siusalainstruccióndebeaparecerenunmóduloantesdecualquierprocedimiento.OptionBasesólopuedeaparecerunavezenunmóduloydebeprecederalasdeclaracionesdematrizqueincluyenlasdimensiones.

NotaLacláusulaToenlasinstruccionesDim,Private,Public,ReDimyStaticproporcionaunaformamásflexibledecontrolarelintervalodelossubíndicesdeunamatriz.Sinembargo,sinoestableceexplícitamenteellímiteinferiorconunacláusulaTo,puedeusarOptionBaseparacambiarellímiteinferiorpredeterminadoa1.LabasedeunamatrizcreadaconlafunciónArrayolapalabraclaveParamArrayescero;OptionBasenoafectaaParamArray(olafunciónArray,cuandosecalificaconelnombredesubibliotecadetipo,porejemploVBA.Array).

LainstrucciónOptionBasesóloafectaellímiteinferiordelasmatricesenelmódulodondeseubicalainstrucción.

OptionCompare(Instrucción)

Seusaenelniveldemóduloparadeclararelmododecomparaciónpredeterminadoqueseusacuandosecomparandatosdetipocadena.

Sintaxis

OptionCompare{Binary|Text|Database}

Comentarios

Siseusa,lainstrucciónOptionComparedebeaparecerenunmóduloantesdecualquierprocedimiento.

LainstrucciónOptionCompareespecificaelmétododecomparacióndecadena(Binary,TextoDatabase)paraunmódulo.SiunmódulonoincluyeunainstrucciónOptionCompare,elmétododecomparacióndetextopredeterminadoesBinary.

OptionCompareBinarycomparacadenasusandocomocriteriodecomparaciónunordenderivadodelasrepresentacionesinternasbinariasdeloscaracteres.EnMicrosoftWindows,laordenaciónsedeterminadeacuerdoconlapáginadecódigos.Enelejemplosiguientesemuestrauncriteriodeordenaciónbinariotípico:

A<B<E<Z<a<b<e<z<À<Ê<Ø<à<ê<ø

OptionCompareTextcomparacadenasusandocomocriteriounaordenacióndetextoquenodistinguemayúsculasdeminúsculasdeterminadoporlaconfiguraciónregionaldelsistema.CuandoseordenanlosmismoscaracteresmedianteOptionCompareText,seproducelasiguienteordenacióndetexto:

(A=a)<(À=à)<(B=b)<(E=e)<(Ê=ê)<(Z=z)<(Ø=ø)

SolamentepuedeutilizarOptionCompareDatabasedentrodeMicrosoftAccess.Estodacomoresultadocomparacionesdecadenabasadasenelorden,queestádeterminadoporelidentificadorlocaldelabasededatosenlaquetienenlugarlascomparacionesdecadena.

OptionExplicit(Instrucción)

Seusaenelniveldemóduloparaforzardeclaracionesexplícitasdetodaslasvariablesendichomódulo.

Sintaxis

OptionExplicit

Comentarios

Siseusa,lainstrucciónOptionExplicitdebeaparecerenunmóduloantesdecualquierprocedimiento.

CuandoOptionExplicitapareceenunmódulo,debedeclararexplícitamentetodaslasvariablesmediantelasinstruccionesDim,Private,Public,ReDimoStatic.Siintentausarunnombredevariablenodeclarado,ocurriráunerrorentiempodecompilación.

SinousalainstrucciónOptionExplicittodaslasvariablesnodeclaradassonVariant,amenosqueeltipopredeterminadoestéespecificadodeotramaneraconunainstrucciónDeftipo.

NotaUtiliceOptionExplicitparaevitarescribirincorrectamenteelnombredeunavariableexistenteoparaevitarconfusionesenelcódigo,dondeelalcancedelavariablenoestáclaro.

OptionPrivate(Instrucción)

Cuandoseutilizaenaplicacioneshostquepermitenreferenciasatravésdemúltiplesproyectos,OptionPrivateModuleimpidequesehagareferenciaalcontenidodelmódulofueradelproyecto.Enlasaplicacioneshostquenopermitenestetipodereferencias,comoversionesindependientesdeVisualBasic,lainstrucciónOptionPrivatenotieneefecto.

Sintaxis

OptionPrivateModule

Comentarios

Siseusa,lainstrucciónOptionPrivatedebeaparecerenunniveldemódulo,antesdecualquierprocedimiento.

CuandounmódulocontieneOptionPrivateModule,laspartespúblicas,porejemplovariables,objetos,ytiposdefinidosporelusuariodeclaradosenelniveldemódulotodavíaestándisponiblesdentrodelproyectoquecontieneelmódulo,peronoestándisponiblesparaotrasaplicacionesoproyectos.

NotaOptionPrivatesóloseutilizaparaaplicacioneshostqueadmitenlacargasimultáneademúltiplesproyectosypermitenreferenciasentrelosproyectoscargados.Porejemplo,MicrosoftExcelpermitecargarmúltiplesproyectosysepuedeutilizarOptionPrivateModulepararestringirla

visibilidaddeproyectoscruzados.AunqueVisualBasicpermitecargarmúltiplesobjetos,nuncasepermitenenVisualBasiclasreferenciasentreproyectos.

Print#(Instrucción)

Escribeenunarchivosecuenciallosdatosconformatodepresentación.

Sintaxis

Print#númeroarchivo,[listasalida]

LasintaxisdelainstrucciónPrint#constalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.listasalida Opcional.Expresiónolistadeexpresionespara

imprimir.

Valor

Elargumentolistasalidatienelosvaloressiguientes:

[{Spc(n)|Tab[(n)]}][expresión][posicióncarácter]

Parte DescripciónSpc(n) Seutilizaparainsertarcaracteresdeespacioenlasalida,

dondeneselnúmerodecaracteresdeespacioparainsertar.Tab(n) Seutilizaparacolocarelpuntodeinserciónenunanúmero

decolumnaabsoluta,dondeneselnúmerodecolumna.UtiliceTabsinargumentosparacolocarelpuntodeinserciónalcomienzodelasiguientezonadeimpresión.

expresión Expresiónnuméricaoexpresióndecadenaquesevaaimprimir.

posicióncarácter Especificaelpuntodeinsercióndelcaráctersiguiente.Seutilizaunpuntoycoma(;)paraespecificarqueelpuntodeinsercióndebeestarinmediatamentedespuésdelúltimocaráctermostrado.UtiliceTab(n)paracolocarelpuntodeinserciónenunnúmerodecolumnaabsoluta.UtiliceTabsinargumentosparacolocarelpuntodeinserciónalcomienzodelasiguientezonadeimpresión.Siseomiteposicióncarácter,elsiguientecarácterseimprimeenlalíneasiguiente.

Comentarios

LosdatosqueseescribenenunarchivoconPrint#seleennormalmenteconLineInput#oInput.

Siomitelistasalidaysóloincluyeunseparadordelistasdespuésdenúmeroarchivo,seimprimeunalíneaenblancoenelarchivo.Sepuedensepararvariasexpresionespormediodeunespacioenblancoodeunpuntoycoma.

EnelcasodedatosdetipoBooleanseimprimeTrueoFalse.LaspalabrasclaveTrueyFalsenosetraducen,cualquieraquesealaconfiguraciónregional.

LosdatosdetipoDateseescribenenelarchivoutilizandoelformatocortodefechaestándarreconocidoporelsistema.Cuandonoseponeelcomponentecorrespondientealafechaoalahora,oésteesigualacero,sóloseescribeenel

archivolapartesuministrada.

NoseescribenadaenelarchivosilosdatosdelistasalidasondetipoEmpty.Sinembargo,silistasalidaesNull,Nullseescribeenelarchivo.

ParadatosdeError,lasalidaaparececomoErrorcódigoerror.LapalabraclaveErrornosetraducen,cualquieraquesealaconfiguraciónregional.

TodoslosdatosqueseescribenenelarchivoconPrint#seadaptanregionalmente;esdecir,sedaformatoaldatousandoelseparadordecimaladecuado.

PuestoquePrint#escribeunaimagendelosdatosenelarchivo,debedelimitarlosdatosparaqueseimprimancorrectamente.SiutilizaTabsinargumentosparamoverlaposicióndeimpresiónalasiguientezonadeimpresión,Print#tambiénescribeenelarchivolosespaciosentrecamposdeimpresión.

NotaSienelfuturodesealeerdatosdeunarchivopormediodelainstrucciónInput#,utilicelainstrucciónWrite#envezdelainstrucciónPrint#paraescribirlosdatosenelarchivo.LautilizacióndeWrite#aseguralaintegridaddecadacampodedatosseparado,aldelimitarloadecuadamente,demodoquesepuedaleerotravezutilizandoInput#.LautilizacióndeWrite#aseguratambiénquelosdatossepuedanleercorrectamenteencualquierconfiguraciónregional.

Private(Instrucción)

Seusaenelniveldemóduloparadeclararvariablesprivadasyparaasignarespaciodealmacenamiento.

Sintaxis

Private[WithEvents]nombre_variable[([subíndices])][As[New]tipo][,[WithEvents]nombre_variable[([subíndices])][As[New]tipo]]...

LasintaxisdelainstrucciónPrivateconstadelassiguientespartes:

Parte DescripciónWithEvents Opcional.Palabraclavequeespecificaquenombre_variablees

unavariabledeobjetoutilizadapararesponderaeventosdesencadenadosporunobjetoActiveX.WithEventssolamenteesválidoenmódulosdeclase.PuededeclarartantasvariablesindividualescomodeseemedianteWithEvents,peronopuedecrearmatricesconWithEvents.NopuedeutilizarNewconWithEvents.

nombre_variable

Requerido.Nombredelavariable;siguelasconvencionesestándardenombresdevariable.

subíndices Opcional.Dimensionesdeunavariabledematriz;sepuedendeclararhasta60dimensionesmúltiples.Elargumentosubíndicesutilizalasiguientesintaxis:

[inferiorTo]superior[,[inferiorTo]superior]... Cuandonosedeclaraexplícitamenteeninferior,ellímite

inferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.EllímiteinferiorescerosinohayningunainstrucciónOptionBase.

New Opcional.Palabraclavequepermitelacreaciónimplícitadeunobjeto.SiutilizaNewcuandodeclaralavariabledeobjeto,secreaunanuevainstanciadelobjetocomoprimerareferencia,deformaquenotienequeutilizarlainstrucciónSetparaasignarlareferenciadelobjeto.LapalabraclaveNewnosepuedeutilizarparadeclararvariablesdecualquiertipodedatosintrínseco,nosepuedeutilizarparadeclararinstanciasdeobjetosdependientesynosepuedeutilizarconWithEvents.

tipo Opcional.Tipodedatosdelavariable;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,untipodefinidoporelusuario,ountipodeobjeto.UtiliceunacláusulaAstipodistintaparacadavariablequedefina.

Comentarios

LasvariablesPrivatesóloestándisponiblesparaelmóduloenelquesedeclaran.

UselainstrucciónPrivateparadeclarareltipodedatosdeunavariable.Porejemplo,lainstrucciónsiguientedeclaraunavariablecomountipoInteger:

PrivateNúmeroDeEmpleadosAsInteger

UtilicetambiénunainstrucciónPrivateparadeclarareltipodeobjetodeunavariable.Lasiguientelíneadeclaraunavariableparaunanuevainstanciadeunahojadecálculo.

PrivateXAsNewWorksheet

SinoutilizalapalabraclaveNewaldeclararunavariabledeobjeto,lavariablequeserefierealobjetodebeasignarseaunobjetoexistentemediantelainstrucciónSetantesdequepuedautilizarse.Hastaqueseleasigneunobjeto,lavariabledeobjetodeclaradatieneelvalorespecialNothing,elcualindicaquenoserefiereaningunainstanciaenparticulardeunobjeto.

SinoseespecificauntipodedatosountipodeobjetoynoexisteunainstrucciónDeftipoenelmódulo,lavariablepredeterminadaesVariant.

TambiénpuedeusarlainstrucciónPrivateconparéntesisvacíosparadeclararmatricesdinámicas.Despuésdedeclararunmatrizdinámica,uselainstrucciónReDimdentrodeunprocedimientoparadefinirelnúmerodedimensionesyelementosdeunamatriz.SiintentavolveradeclararunadimensiónparaunavariabledematrizcuyotamañosehaespecificadoexplícitamenteenunainstrucciónPrivate,PublicoDim,ocurriráunerror.

Cuandoseinicializanlasvariables,unavariablenuméricaseinicializaa0,unacadenadelongitudvariableseinicializaaunacadenadelongitudcero("")yunacadenadelongitudfijaserellenaconceros.LasvariablesVariantseinicializanaEmpty.Cadaelementodeunavariabledeuntipodefinidoporelusuarioseinicializacomosifueraunavariabledistinta.

NotaCuandoutilicelainstrucciónPrivateenunprocedimiento,generalmenteincluirádichainstrucciónPrivatealprincipiodelprocedimiento.

PropertyGet(Instrucción)

Declaraelnombre,losargumentosyelcódigoquecomponenelcuerpodeunprocedimientoProperty,elcualobtieneelvalordeunapropiedad.

Sintaxis

[Public|Private|Friend][Static]PropertyGetnombre[(lista_argumentos)][Astipo][instrucciones][nombre=expresión][ExitProperty][instrucciones][nombre=expresión]

EndProperty

LasintaxisdelainstrucciónPropertyGetconstadelassiguientespartes:

Parte DescripciónPublic Opcional.IndicaqueelprocedimientoPropertyGetes

accesibleparatodoslosdemásprocedimientosdetodoslosmódulos.SiseusaenunmóduloquecontieneunainstrucciónOptionPrivate,elprocedimientonoestarádisponiblefueradelproyecto.

Private Opcional.IndicaqueelprocedimientoPropertyGetsóloesaccesibleparaotrosprocedimientoscontenidosenelmódulodondesedeclara.

Friend Opcional.Seusasolamenteenunmódulodeclase.IndicaqueelprocedimientoPropertyGetesvisibleatravésdelproyecto,peronoesvisibleparauncontroladordeunainstanciadeunobjeto.

Static Opcional.IndicaquelasvariableslocalesdelprocedimientoPropertyGetseconservanentredistintasllamadas.ElatributoStaticnoafectaalasvariablesdeclaradasfueradelprocedimientoPropertyGet,inclusoaunqueseutilicenenelmismo.

nombre Requerido.NombredelprocedimientoPropertyGet;siguelasconvencionesestándardenombresdevariables,exceptoenqueelnombrepuedeserelmismoqueeldeunprocedimientoPropertyLetoPropertySetdelmismomódulo.

lista_argumentos

Opcional.ListadevariablesquerepresentanargumentosquesepasanalprocedimientoPropertyGetcuandosellamaaéste.Losdistintosargumentosseseparanmediantecomas.ElnombreyeltipodedatosdecadaargumentodeunprocedimientoPropertyGetdebenserigualesqueenlosargumentoscorrespondientesdeunprocedimientoPropertyLet(silohay).

tipo Opcional.TipodedatosdelvalordevueltoporelprocedimientoPropertyGet;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(exceptolongitudfija),Object,Variant,tipodefinidoporelusuario,ymatrices.

EltipoderetornodeunprocedimientoPropertyGetdebeserdelmismotipodedatosqueelúltimo(aveceselúnico)argumentodeunprocedimientoPropertyLetcorrespondiente(silohay)quedefineelvalorasignadoalapropiedadenlapartederechadeunaexpresión.

instrucciones Opcional.CualquiergrupodeinstruccionesqueseejecutandentrodelcuerpodelprocedimientoPropertyGet.

expresión Opcional.ValordelapropiedaddevueltoporelprocedimientodefinidoporlainstrucciónPropertyGet.

Elargumentolista_argumentosconstadelassiguientespartesysintaxis:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo][=valor_predeterminado]

Parte Descripción

Optional Opcional.Indicaquenosenecesitaunargumento.Siseutiliza,todoslosargumentossubsiguientesdelista_argumentostambiéndebenseropcionalesysedebendeclararmediantelapalabraclaveOptional.

ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeselargumentopredeterminadoenVisualBasic.ParamArray Opcional.Sóloseutilizacomoúltimoargumentode

lista_argumentosparaindicarqueelargumentofinalesunamatrizOptionaldeelementostipoVariant.LapalabraclaveParamArraylepermiteproporcionarunnúmeroarbitrariodeargumentos.NosepuedeutilizarconByVal,ByRefuOptional.

nombre_variable

Requerido.Nombredelavariablequerepresentaalargumento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Eltipodedatosdelargumentopasadoalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(nocompatibleactualmente),Date,String(sólodelongitudvariable),Object,Variant,ountipodeobjetoespecífico.SielparámetronoesOptional,sepuedeespecificartambiénuntipodefinidoporelusuario.

valor_predeterminado

Opcional.Cualquierconstanteoexpresióndeconstante.SóloesválidoparaparámetrosOptional.SieltipoesObject,unvalorpredeterminadoexplícitosólopuedeserNothing.

Comentarios

SinoseespecificaexplícitamentemediantePublic,PrivateoFriend,losprocedimientosPropertysonpúblicosdemanerapredeterminada.SinoseusaStatic,elvalordelasvariableslocalesnoseconservaentredistintasllamadas.LapalabraclaveFriendsolamentepuedeutilizarseenmódulosdeclase.Sinembargo,sepuedeaccederalosprocedimientosFriendporprocedimientosencualquiermódulodeunproyecto.UnprocedimientoFriendnoapareceenla

bibliotecadetipodesuclaseprimaria.

Todoelcódigoejecutabledebeestarenprocedimientos.NopuededefinirunprocedimientoPropertyGetdentrodeotroprocedimientoProperty,SuboFunction.

LainstrucciónExitPropertycausalainmediatasalidadeunprocedimientoPropertyGet.LaejecucióndelprogramacontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoPropertyGet.CualquiernúmerodeinstruccionesExitPropertypuedeaparecerencualquierlugardeunprocedimientoPropertyGet.

AligualqueunprocedimientoSubyPropertyLet,unprocedimientoPropertyGetesunprocedimientodistintoquepuedetomarargumentos,llevaracabounaseriedeinstruccionesycambiarelvalordesusargumentos.Sinembargo,adiferenciadeunprocedimientoSuboPropertyLet,puedeutilizarunprocedimientoPropertyGetenelladoderechodeunaexpresióndelamismaformaenqueutilizaFunctionoelnombredeunapropiedadcuandodeseadevolverelvalordeunapropiedad.

PropertyLet(Instrucción)

Declaraelnombre,losargumentos,yelcódigoqueformanelcuerpodeunprocedimientoPropertyLet,elcualasignaunvaloraunapropiedad.

Sintaxis

[Public|Private|Friend][Static]PropertyLetnombre([lista_argumentos,]valor)[instrucciones][ExitProperty][instrucciones]

EndProperty

LasintaxisdelainstrucciónPropertyLetconstadelassiguientespartes:

Parte DescripciónPublic Opcional.IndicaqueelprocedimientoPropertyLetes

accesibleparatodoslosdemásprocedimientosdetodoslosmódulos.SiseusaenunmóduloquecontieneunainstrucciónOptionPrivate,elprocedimientonoseencuentradisponiblefueradelproyecto.

Private Opcional.IndicaqueelprocedimientoPropertyLetesaccesiblesóloparaotrosprocedimientosdelmódulodondesehadeclarado.

Friend Opcional.Sóloseutilizaenunmódulodeclase.IndicaqueelprocedimientoPropertyLetesvisibleatravésdelproyecto,peronoporuncontroladordeunainstanciadeunobjeto.

Static Opcional.IndicaquelasvariableslocalesdelprocedimientoPropertyLetseconservanentredistintasllamadas.ElatributoStaticnoafectaalasvariablesquesehandeclaradofueradelprocedimientoPropertyLet,inclusoaunqueseusenenelprocedimiento.

nombre Requerido.NombredelprocedimientoPropertyLet;siguelasconvencionesestándardenombresdevariables,exceptoenqueelnombrepuedeserelmismoqueeldelosprocedimientosPropertyGetoPropertySetdelmismomódulo.

lista_argumentos

Requerido.ListadevariablesquerepresentanargumentosquesepasanalllamaralprocedimientoPropertyLet.Losdistintosargumentosseseparanmediantecomas.ElnombreyeltipodedatosdecadaargumentodeunprocedimientoPropertyLetdebenserigualesquelosargumentoscorrespondientesdeunprocedimientoPropertyGet.

valor Requerido.Variablequecontieneelvalorqueseasignaalapropiedad.Cuandosellamaalprocedimiento,esteargumentoapareceenlapartederechadelaexpresiónquehacelallamada.EltipodedatosdevalordebeserelmismoqueeldeltipodevueltoporelcorrespondienteprocedimientoPropertyGet.

instrucciones Opcional.CualquiergrupodeinstruccionesqueseejecutedentrodelprocedimientoPropertyLet.

Elargumentolista_argumentosconstadelassiguientespartesysintaxis:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo][=valor_predeterminado]

Parte DescripciónOptional Opcional.Indicaquenosenecesitaunargumento.Sise

utiliza,todoslosargumentossubsiguientesdelista_argumentostambiéndebenseropcionalesysedeben

declararmediantelapalabraclaveOptional.ObservequelapartederechadeunaexpresiónPropertyLetnopuedeserOptional.

ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeselargumentopredeterminadoenVisualBasic.ParamArray Opcional.Sóloseutilizacomoelúltimoargumentode

lista_argumentosparaindicarqueelargumentofinalesunamatrizOptionaldeelementostipoVariant.LapalabraclaveParamArraylepermiteproporcionarunnúmeroarbitrariodeargumentos.NosepuedeutilizarconByVal,ByRefuOptional.

nombre_variable

Requerido.Elnombredelavariablequerepresentaalargumento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Eltipodedatosdelargumentopasadoalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(solamentedelongitudvariable),Object,Variant,ountipodeobjetoespecífico.SielparámetronoesOptional,tambiénsepuedeespecificaruntipodefinidoporelusuario.

valor_predeterminado

Opcional.Cualquierconstanteoexpresióndeconstante.SóloesválidoparaparámetrosOptional.SieltipoesObject,unvalorpredeterminadoexplícitosólopuedeserNothing.

NotaCualquierinstrucciónPropertyLetdebedefinirporlomenosunargumentoparaelprocedimientoquedefine.Eseargumento(oelúltimoargumentosihaymásdeuno)contieneelvalorrealqueseasignaalapropiedadcuandoseinvocaelprocedimientodefinidoporlainstrucciónPropertyLet.Eseargumentosedenominavalorenlasintaxisanterior.

Comentarios

SinoseespecificaexplícitamentemediantePublic,PrivateoFriend,los

procedimientosPropertysonpúblicosdemanerapredeterminada.SinoseusaStatic,elvalordelasvariableslocalesnoseconservaentredistintasllamadas.LapalabraclaveFriendsolamentesepuedeusarenmódulosdeclase.Sinembargo,losprocedimientosencualquiermódulodeunproyectopuedenaccederalosprocedimientosFriend.UnprocedimientoFriendnoapareceenlabibliotecadetipodesuclaseprimaria,nisepuedeenlazarposteriormente.

Todocódigoejecutabledebeestarenprocedimientos.NopuededefinirunprocedimientoPropertyLetdentrodeotroprocedimientoProperty,SuboFunction.

LainstrucciónExitPropertycausalainmediatasalidadeunprocedimientoPropertyLet.LaejecucióndelprogramacontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoPropertyLet.CualquiernúmerodeinstruccionesExitPropertypuedeaparecerencualquierlugardeunprocedimientoPropertyLet.

AligualqueunprocedimientoFunctionyPropertyGet,unprocedimientoPropertyLetesunprocedimientodistintoquepuedetomarargumentos,llevaracabounaseriedeinstruccionesycambiarelvalordesusargumentos.Sinembargo,adiferenciadeunprocedimientoFunctionyPropertyGet,loscualesdevuelvenunvalor,unprocedimientoPropertyLetsólosepuedeusarenelladoizquierdodeunaexpresióndeasignacióndepropiedadodeunainstrucciónLet.

PropertySet(Instrucción)

Declaraelnombre,losargumentos,yelcódigoquecomponenelcuerpodeunprocedimientoProperty,elcualasignaunareferenciaaunobjeto.

Sintaxis

[Public|Private|Friend][Static]PropertySetnombre([lista_argumentos,]referencia)[instrucciones][ExitProperty][instrucciones]

EndProperty

LasintaxisdelainstrucciónPropertySetconstadelassiguientespartes:

Parte DescripciónOptional Opcional.Indicaqueelargumentolopuedeproporcionarel

llamadorono.Public Opcional.IndicaqueelprocedimientoPropertySetes

accesibleparatodoslosdemásprocedimientosdetodoslosmódulos.SiseusaenunmóduloquecontienelainstrucciónOptionPrivate,elprocedimientonoestádisponiblefueradelproyecto.

Private Opcional.IndicaqueelprocedimientoPropertySetesaccesiblesóloparaotrosprocedimientosdelmódulodondesedeclara.

Friend Opcional.Seutilizasóloenunmódulodeclase.IndicaqueelprocedimientoPropertySetesvisibleatravésdelproyecto,peronoporuncontroladordeunainstanciadeunobjeto.

Static Opcional.Indicaquelasvariableslocalesdelprocedimiento

PropertySetseconservanentredistintasllamadas.ElatributoStaticnoafectaalasvariablesquesedeclaranfueradelprocedimientoProperty,inclusoaunqueseusenenelprocedimiento.

nombre Requerido.NombredelprocedimientoPropertySet;siguelasconvencionesestándardenombresdevariables,exceptoenqueelnombrepuedeserelmismoqueeldelosprocedimientosPropertyGetoPropertyLetdelmismomódulo.

lista_argumentos

Requerido.ListadevariablesquerepresentanargumentosquesepasanalprocedimientoPropertySetcuandoselellama.Losdistintosargumentosseseparanmediantecomas.

referencia Requerido.Variablequecontienelareferenciadeobjetoutilizadaenlapartederechadelaasignacióndereferenciadeobjeto.

instrucciones Opcional.CualquiergrupodeinstruccionesqueseejecutandentrodelcuerpodelprocedimientoProperty.

Elargumentolista_argumentosconstadelassiguientespartesysintaxis:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo][=valor_predeterminado]

Parte DescripciónOptional Opcional.Indicaquenosenecesitaunargumento.Sise

utiliza,todoslosargumentossubsiguientesdelista_argumentostambiéndebenseropcionalesysedebendeclararmediantelapalabraclaveOptional.ObservequelapartederechadeunaexpresiónPropertySetnopuedeserOptional.

ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeselmodopredeterminadoenVisualBasic.ParamArray Opcional.Sóloseutilizacomoelúltimoargumentoen

lista_argumentosparaindicarqueelargumentofinalesunamatrizOptionaldeelementostipoVariant.Lapalabraclave

ParamArraylepermiteproporcionarunnúmeroarbitrariodeargumentos.NosepuedeutilizarconByVal,ByRefuOptional.

nombre_variable

Requerido.Nombredelavariablequerepresentaelargumento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Tipodedatosdelargumentoquepasaalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(solamentelongitudvariable),Object,Variant,ountipodeobjetoespecífico.SielparámetronoesOptional,sepuedeespecificartambiénuntipodefinidoporelusuario.

valor_predeterminado

Opcional.Cualquierconstanteoexpresióndeconstante.SóloesválidoparaparámetrosOptional.SieltipoesObject,unvalorpredeterminadoexplícitosólopuedeserNothing.

NotaCualquierinstrucciónPropertySetdebedefinirporlomenosunargumentoparaelprocedimientoquedefine.Eseargumento(oelúltimoargumentosihaymásdeuno)contendrálareferenciadelobjetorealparalapropiedadcuandoseinvoqueelprocedimientodefinidoporlainstrucciónPropertySet.Seledenominareferenciaenlasintaxisanterior.NopuedeserOptional.

Comentarios

SinoseespecificanexplícitamentemediantePublic,PrivateoFriend,losprocedimientosPropertyseránpúblicosdemanerapredeterminada.SinoseusaStatic,elvalordelasvariableslocalesnoseconservaentredistintasllamadas.LapalabraclaveFriendsolamentesepuedeusarenmódulosdeclase.Sinembargo,losprocedimientosencualquiermódulodeunproyectopuedenaccederalosprocedimientosFriend.UnprocedimientoFriendnoapareceenlabibliotecadetipodesuclaseprimaria,nisepuedeenlazarposteriormente.

Todocódigoejecutabledebeestarenprocedimientos.NopuededefinirunprocedimientoPropertySetdentrodeotroprocedimientoProperty,Subo

Function.

LainstrucciónExitPropertycausalainmediatasalidadeunprocedimientoPropertySet.LaejecucióndelprogramacontinúaconlainstrucciónquesiguealainstrucciónquellamóalprocedimientoPropertySet.CualquiernúmerodeinstruccionesExitPropertypuedeaparecerencualquierlugardeunprocedimientoPropertySet.

AligualqueunprocedimientoFunctionyPropertyGet,PropertySetesunprocedimientodistintoquepuedetomarargumentos,llevaracabounaseriedeinstruccionesycambiarelvalordesusargumentos.Sinembargo,adiferenciadeunprocedimientoFunctionyPropertyGet,loscualesdevuelvenunvalor,unprocedimientoPropertySetsólosepuedeusarenelladoizquierdodeunaasignacióndereferenciadeobjeto(instrucciónSet).

Public(Instrucción)

Seusaenelniveldemóduloparadeclararvariablespúblicasyasignarlesespacioparaalmacenamiento.

Sintaxis

Public[WithEvents]nombre_variable[([subíndices])][As[New]tipo][,[WithEvents]nombre_variable[([subíndices])][As[New]tipo]]...

LasintaxisdelainstrucciónPublicconstadelassiguientespartes:

Parte DescripciónWithEvents Opcional.Lapalabraclaveespecificaquevarnameesuna

variabledeobjetoutilizadapararesponderaloseventosdesencadenadosporunobjetoActiveX.WithEventsesválidosolamenteenmódulosdeclase.PuededeclarartantasvariablesindividualescomodeseemedianteWithEvents,peronopuedecrearmatricesconWithEvents.NopuedeutilizarNewconWithEvents.

nombre_variable

Requerido.Nombredelavariable;siguelasconvencionesestándardenombresdevariable.

Subíndices Opcional.Dimensionesdeunavariabledematriz;sepuedendeclararhasta60dimensionesmúltiples.Elargumentosubíndicesusalasintaxissiguiente:

[inferiorTo]superior[,[inferiorTo]superior]...

Cuandonosedeclaraexplícitamenteeninferior,ellímiteinferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.EllímiteinferiorescerosinohayningunainstrucciónOptionBase.

New Opcional.Palabraclavequepermitelacreaciónimplícitadeunobjeto.SiutilizaNewcuandodeclaralavariabledeobjeto,secreaunanuevainstanciadelobjetocomoprimerareferencia,deformaquenotienequeutilizarlainstrucciónSetparaasignarlareferenciadeobjeto.LapalabraclaveNewnosepuedeutilizarparadeclararvariablesdecualquiertipodedatosintrínseco,nosepuedeutilizarparadeclararinstanciasdeobjetosdependientesynosepuedeutilizarconWithEvents.

tipo Opcional.Tipodedatosdelavariable;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String,(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,

untipodefinidoporelusuario,ountipodeobjeto.UseunacláusulaAstipodistintaparacadavariablequesedefina.

Comentarios

LasvariablesdeclaradasmediantelainstrucciónPublicestándisponiblesparatodoslosprocedimientosentodoslosmódulosdetodaslasaplicaciones,amenosqueOptionPrivateModuleestéenefecto;enestecaso,lasvariablessólosonpúblicasdentrodelproyectoenelqueresiden.

PrecauciónLainstrucciónPublicnosepuedeusarenunmódulodeclaseparadeclararunavariabledecadenadelongitudfija.

UselainstrucciónPublicparadeclarareltipodedatosdeunavariable.Porejemplo,lainstrucciónsiguientedeclaraunavariablecomodetipoInteger:

PublicNúmeroDeEmpleadosAsInteger

UtilicetambiénlainstrucciónPublicparadeclarareltipodeobjetodeunavariable.Lainstrucciónsiguientedeclaraunavariableparaunanuevainstanciadeunahojadecálculo.

PublicXAsNewWorksheet

SinoutilizalapalabraclaveNewaldeclararunavariabledeobjeto,lavariablequeserefiereaunobjetodebeasignarseaunobjetoexistentemediantelainstrucciónSetantesdequesepuedausar.Hastaqueseleasigneunobjeto,lavariabledeobjetodeclaradatieneelvalorespecialNothing,elcualindicaquenoserefiereaningunainstanciaenparticulardeunobjeto.

TambiénpuedeutilizarunainstrucciónPublicconparéntesisvacíosparadeclararmatricesdinámicas.Despuésdedeclararunamatrizdinámica,uselainstrucciónReDimdentrodeunprocedimientoparadefinirelnúmerodedimensionesyelementosdelamatriz.SiintentavolveradeclararundimensiónparaunamatrizcuyotamañosehaespecificadoexplícitamenteenunainstrucciónPrivate,PublicoDim,ocurriráunerror.

SinoespecificauntipodedatosountipodeobjetoynoexisteunainstrucciónDeftipoenelmódulo,lavariableesVariantdemanerapredeterminada.

Cuandoseinicializanlasvariables,unavariablenuméricaseinicializaa0,unacadenadelongitudvariableseinicializaaunacadenadelongitudcero("")yunacadenadelongitudfijaserellenaconceros.LasvariablesVariantseinicializanaEmpty.Cadaelementodeunavariabledeuntipodefinidoporelusuarioseinicializacomosifueraunavariabledistinta.

Put(Instrucción)

Escribeenunarchivodediscolosdatoscontenidosenunavariable.

Sintaxis

Put[#]númeroarchivo,[númeroregistro],nombrevariable

LasintaxisdelainstrucciónPutconstalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.númeroregistro Opcional.TipoVariant(Long).Númeroderegistro

(archivosenmodoRandom)onúmerodebyte(archivosenmodoBinary,enelcualsecomienzaaescribir.

nombrevariable Requerido.Nombredelavariablequecontienelainformaciónquesevaaescribireneldisco.

Comentarios

LosdatosqueseescribenconPutnormalmenteseleendeunarchivoconGet.

Elprimerregistroobytedeunarchivoseencuentraenlaposición1,elsegundoenlaposición2yasísucesivamente.Siomitenúmeroregistro,seescribeelsiguienteregistroobytequeseencuentradespuésdelaúltimainstrucciónGetoPutoaquélalqueseñalalaúltimafunciónSeek.Debeincluircomasdedelimitación,porejemplo:

Put#4,,BúferArchivo

EnlosarchivosabiertosenmodoRandomrigenlassiguientesreglas:

AunquelalongituddelosdatosescritosseamenorquelaespecificadaenlacláusulaLendelainstrucciónOpen,Putescribelosregistrossiguientessegúnloslímitesdelongitudderegistroyllenaelespacioentreelfindeunregistroyelcomienzodelsiguienteconelcontenidodelbúferdelarchivo.Puestoquelacantidaddedatosderellenonosepuededeterminarconcerteza,esconvenientequeelregistrotengalamismalongitudquelosdatosqueseescriben.SilalongituddelosdatosqueseescribenesmayorquelaespecificadaenlacláusulaLendelainstrucciónOpen,ocurreunerror.

Silavariableenlaqueseescribeesunacadenadelongitudvariable,la

instrucciónPutescribeundescriptorde2bytesqueindicalalongituddelacadenayluegoescribelavariable.Lalongituddelregistro,especificadaporlacláusuladelainstrucciónOpen,debeserporlomenos2bytesmayorquelalongitudrealdelacadena.

SilavariablequesevaaescribiresunVariantdeuntiponumérico,Putescribe2bytesparaidentificarelVarTypedelVariantyluegoescribelavariable.Porejemplo,alescribirunVariantdeVarType3,Putescribe6bytes:2bytesparaidentificarunVariantdeVarType3(Long)y4bytesquecontienenlosdatosdeltipoLong.Lalongituddelregistro,especificadaporlacláusulaLendelainstrucciónOpen,debeserporlomenos2bytesmayorqueelnúmerorealdebytesnecesariosparaalmacenarlavariable.NotaPuedeutilizarlainstrucciónPutparaescribirunamatrizVariantendisco,peronopuedeemplearPutparaescribirendiscounVariantescalarquecontieneunamatriz.TampocopuedeutilizarPutparaescribirobjetosendisco.

SilavariableescritaesunaVariantdeltipoVarType8(String),Putescribe2bytesparaidentificarelVarType,2bytesparaindicarlalongituddelacadenayluegolosdatosdelacadena.Lalongituddelregistro,especificadaporlacláusulaLendelainstrucciónOpen,debeserporlomenos4bytesmayorquelalongitudrealdelacadena.

Silavariableescritaesunamatrizdinámica,Putescribeundescriptorcuyalongitudequivalea2más8veceselnúmerodedimensiones,esdecir,2+8*NumberOfDimensions.Lalongituddelregistro,especificadaporlacláusulaLendelainstrucciónOpen,debesermayoroigualquelasumadetodoslosbytesnecesariosparaescribirlosdatosyeldescriptordelamatriz.Porejemplo,lasiguientedeclaracióndematrizrequiere118bytescuandolamatrizseescribeendisco.DimMiMatriz(1To5,1To10)AsInteger

Los118bytessedistribuyendelasiguienteforma:18bytesparaeldescriptor(2+8*2)y100bytesparalosdatos(5*10*2).

Silavariableescritaesunamatrizdetamañofijo,Putsolamenteescribelosdatos.Noseescribeendisconingúndescriptor.

Silavariablequeseescribeesdecualquierotrotipo(niunacadenadelongitudvariableniunaVariant),Putescribesolamentelosdatosdelavariable.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebesermayoroigualquelalongituddelosdatosescritos.

Putescribeelementosdetiposdefinidosporelusuariocomosiescribieracadaunoporseparado,peronocolocadatosderellenoentreloselementos.Eneldisco,unamatrizdinámicaenuntipodefinidoporelusuarioescritaconPutincluyecomoprefijoundescriptorcuyalongitudesiguala2más8veceselnúmerodedimensiones,esdecir,2+8*NumberOfDimensions.LalongituddelregistroespecificadaporlacláusulaLendelainstrucciónOpendebesermayoroigualquelasumadetodoslosbytesnecesariosparaescribirloselementosporseparado,incluyendoalgunasmatricesysusdescriptores.

ParaarchivosabiertosenmodoBinary,tienenvigenciatodaslasreglasdelmodoRandom,conlassiguientesexcepciones:

LacláusulaLendelainstrucciónOpennotieneefecto.Putescribetodaslasvariableseneldiscoenformacontigua,esdecirsinrellenoentreregistros.

Paracualquiermatrizdistintadelaindicadaenuntipodefinidoporelusuario,Putescribesolamentelosdatos.Noescribeningúndescriptor.

Putescribelascadenasdecaracteresdelongitudvariablequenosonelementosdetiposdefinidosporelusuariosineldescriptordelongitudde2bytes.Elnúmerodebytesqueseescribeesigualalnúmerodecaracteresdelacadena.Porejemplo,enlassiguientesinstruccionesseescribe10bytesenelarchivonúmero1:VarCadena$=String$(10,"")

Put#1,,VarCadena$

Randomize(Instrucción)

Inicializaelgeneradordenúmerosaleatorios.

Sintaxis

Randomize[número]

ElargumentoopcionalnúmeroesuntipoVariantocualquierexpresiónnuméricaválida.

Comentarios

LainstrucciónRandomizeutilizanúmeroparainicializarelgeneradordenúmerosaleatoriosdelafunciónRndyleasignaunnuevovalordesemilla.Siomitenúmero,elvalordevueltoporelrelojdelsistemaseusacomoelnuevovalordesemilla.

SinoutilizalainstrucciónRandomize,lafunciónRnd(sinargumentos)utilizaelmismonúmerocomovalordesemillalaprimeravezqueselainvoca,usandodespuéscomovalordesemillaelúltimonúmerogenerado.

NotaPararepetirsecuenciasdenúmerosaleatorios,llamealafunciónRndconunargumentonegativoantesdeutilizarlainstrucciónRandomizeconunargumentonumérico.AlutilizarlainstrucciónRandomizeconelmismovalordenúmeronoserepitelasecuenciaanterior.

ReDim(Instrucción)

Seutilizaenelniveldeprocedimientoparareasignarespaciodealmacenamientoparavariablesdematrizdinámica.

Sintaxis

ReDim[Preserve]nombre_variable(subíndices)[Astipo][,nombre_variable(subíndices)[Astipo]]...

LasintaxisdelainstrucciónReDimconstadelassiguientespartes:

Parte DescripciónPreserve Opcional.Palabraclaveutilizadaparaconservarlosdatosdeuna

matrizexistentecuandosecambiaeltamañodelaúltimadimensión.

nombre_variable

Requerido.Nombredelavariable;siguelasconvencionesestándardenombredevariable.

subíndices Requerido.Dimensionesdeunavariabledematriz;sepuedendeclararhasta60dimensionesmúltiples.Elargumentosubíndicesutilizalasintaxissiguiente:

[inferiorTo]superior[,[inferiorTo]superior]...

Cuandonosedeclaraexplícitamenteeninferior,ellímiteinferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.EllímiteinferiorescerosinohayningunainstrucciónOptionBase.

tipo Opcional.Tipodedatosdelavariable;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,untipodefinidoporelusuario,ountipodeobjeto.UtiliceunacláusulaAstipodistintaparacadavariablequedefina.ParaunaVariantquecontieneunamatriz,tipodescribeeltipodecadaelementodelamatriz,peronocambialaVariantaalgúnotrotipo.

Comentarios

LainstrucciónReDimseutilizaparaasignarocambiareltamañodeunamatrizdinámicaqueyasehadeclaradoformalmentemediantelasinstruccionesPrivate,PublicoDimconparéntesisvacíos(sinsubíndicesdedimensiones).

PuedeutilizarlainstrucciónReDimrepetidamenteparacambiarelnúmerodeelementosydimensionesdeunamatriz.Sinembargo,nopuededeclararunamatrizdeuntipodedatosyluegousarReDimparacambiarlamatrizaotrotipodedatos,amenosquelamatrizestécontenidaenunaVariant.SilamatrizestácontenidaenunaVariant,eltipodeloselementossepuedecambiarmedianteunacláusulaAstipo,amenosqueestéutilizandolapalabraclavePreserve,encuyocasonosepermitencambiosaltipodedatos.

SiutilizalapalabraclavePreservesólopuedecambiareltamañodelaúltimadimensióndelamatrizynoesposiblecambiarelnúmerodedimensiones.Porejemplo,silamatrizsólotieneunadimensión,puedecambiareltamañodeesadimensiónporqueeslaúltimayúnicadimensión.Sinembargo,silamatriztienedosomásdimensiones,sólopuedecambiarladimensióndelaúltimaytodavíaconservarelcontenidodelamatriz.Elejemplosiguientemuestracómopuedeaumentareltamañodelaúltimadimensióndeunamatrizdinámicasinborrarningunodelosdatosexistentescontenidosenlamatriz.

ReDimX(10,10,10)

...

ReDimPreserveX(10,10,15)

Demodoparecido,cuandoutilizaelargumentoPreservepuedecambiareltamañodelamatrizsólocambiandoellímitesuperior;cambiarellímiteinferiorproduceunerror.

Sihacequeunamatrizseamáspequeñadeloqueera,perderálosdatosdeloselementoseliminados.Sitransfiereunamatrizaunprocedimientoporreferencia,nopuedecambiareltamañodelamatrizdentrodelprocedimiento.

Cuandoseinicializanlasvariables,unavariablenuméricaseinicializaa0,unacadenadelongitudvariableseinicializaaunacadenadelongitudcero("")yunacadenadelongitudfijaserellenaconceros.LasvariablesVariantseinicializanaEmpty.Cadaelementodeunavariabledeuntipodefinidoporelusuarioseinicializacomosifueraunavariabledistinta.AunavariablequeserefiereaunobjetoseledebeasignarunobjetoexistentemediantelainstrucciónSetantesdequesepuedausar.Hastaqueseasignaaunobjeto,lavariabledeobjetodeclaradatieneelvalorespecialNothing,elcualindicaquenoserefierea

ningunainstanciaenparticulardeunobjeto.

PrecauciónLainstrucciónReDimactúacomounainstruccióndeclarativasilavariablequedeclaranoexisteenelniveldemódulooniveldeprocedimiento.Simástardecreaotravariableconelmismonombre,inclusoconunalcancemayor,ReDimharáreferenciaalacreadamástardeynocausaránecesariamenteunerrordecompilación,inclusoaunqueOptionExplicitestéenefecto.Paraevitarestosconflictos,ReDimnosedebeutilizarcomounainstruccióndeclarativa,sinosóloparacambiareltamañodelasmatrices.

NotaParacambiareltamañodeunamatrizcontenidaenunaVariant,debedeclararexplícitamentelavariableVariantantesdeintentarcambiareltamañodesumatriz.

Rem(Instrucción)

Seusaparaincluirnotasaclaratoriasenunprograma.

Sintaxis

Remcomentario

Tambiénpuedeutilizarlasiguientesintaxis:

'comentario

Elargumentoopcionalcomentarioeseltextodecualquiercomentarioquedeseaincluir.DespuésdelapalabraclaveRemserequiereunespaciodelantedecomentario.

Comentarios

Siusanúmerosdelíneaoetiquetasdelínea,esposiblederivardeunainstrucciónGoTooGoSubaunalíneaquecontengalainstrucciónRem.LaejecucióncontinúaconlaprimerainstrucciónejecutablequesiguealainstrucciónRem.SilapalabraclaveRemsigueaotrasinstruccionesenunalínea,sedebeseparardelasinstruccionesconunsignodedospuntos(:).

Puedeusarunacomillasimpleounapóstrofo(')envezdelapalabraclaveRem.Cuandoutiliceunapóstrofe,nosenecesitaelsignodedospuntosdespuésdeotrasinstrucciones.

Reset(Instrucción)

CierratodoslosarchivosdediscoabiertosmediantelainstrucciónOpen.

Sintaxis

Reset

Comentarios

LainstrucciónResetcierratodoslosarchivosactivosabiertosconlainstrucciónOpenyescribeeneldiscoelcontenidodetodoslosbúferesdelosarchivos.

Resume(Instrucción)

Continúalaejecucióncuandoterminaunarutinadegestióndeerrores"controldeerrores"

Sintaxis

Resume[0]

ResumeNext

Resumelínea

LasintaxisdelainstrucciónResumepuedetenercualquieradelosformatossiguientes:

Instrucción DescripciónResume Sielerrorsehaproducidoenelprocedimientoquecontiene

elcontroladordeerrores,laejecucióncontinúaenlainstrucciónquelocausó.Sielerrorsehaproducidoenunprocedimientollamado,laejecucióncontinúaenlainstruccióncontroldeerroresdesdelacualsellamóalprocedimientoquecontienelarutinadegestióndeerrores.

ResumeNext Sielerrorsehaproducidoenelmismoprocedimientoquecontieneelcontroladordeerrores,laejecucióncontinúaconlainstrucciónquesigueinmediatamentealaquecausóelerror.Sielerrorsehaproducidoenunprocedimientollamado,laejecucióncontinúaenlainstruccióninmediatamenteposterioralainstruccióndesdelacualsellamóalprocedimientoquecontienelarutinadegestióndeerrores"controldeerrores"(olainstrucciónOnErrorResumeNext)

Resumelínea Laejecucióncontinúaenlalíneaespecificadaenelargumentoobligatoriolínea.Elargumentolíneaesunaetiquetadelíneaounnúmerodelíneaydebeestarenelmismoprocedimientoqueelcontroladordeerrores.

Comentarios

SiutilizaunainstrucciónResumeenotrositioquenoseaunarutinadecontroldeerrores,ocurreunerror.

RmDir(Instrucción)

Eliminaundirectorioocarpetaexistente.

Sintaxis

RmDirruta

Elargumentorequeridorutaesunaexpresióndecadenaqueidentificaeldirectorioocarpetaquesevaaeliminar.Puedeincluirlaunidaddedisco.Sinoseespecificaunaunidaddedisco,RmDireliminaeldirectorioocarpetadelaunidaddediscoactual.

Comentarios

SiseintentautilizarlainstrucciónRmDirenundirectorioocarpetaquecontienearchivos,seproduciráunerror.UselainstrucciónKillparaeliminartodoslosarchivosdeesedirectorioocarpetaantesdeintentareliminarel

directorioocarpeta.

RSet(Instrucción)

Alineaaladerechaunacadenadentrodeunavariabledecadena.

Sintaxis

RSetvarcadena=cadena

LasintaxisdelainstrucciónRSetconstadelassiguientespartes:

Parte Descripción

varcadena Requerido.Nombredeunavariabledecadena.cadena Requerido.Expresióndecadenaquesevaaalinearaladerechaen

varcadena.

Comentarios

Sivarcadenaesmáslargaquecadena,RSetreemplazacualquiercaráctersobrantealaizquierdadevarcadenaconespaciosenblanco,empezandodesdeelprincipio.

NotaRSetnosepuedeutilizarcontiposdefinidosporelusuario.

SaveSetting(Instrucción)

GuardaocreaunaentradaparaunaaplicaciónenelregistrodeconfiguracióndeWindows.O(enMacintosh)informaciónenelarchivodeinicializacióndelaaplicación.

Sintaxis

SaveSettingappname,section,key,setting

LasintaxisdelainstrucciónSaveSettingtienelossiguientesargumentosconnombre:

Parte Descripciónappname Obligatorio.Expresióndecadenaquecontieneelnombredela

aplicaciónoproyectoalqueseaplicaelvalor.EnMacintosh,ésteeselnombredelarchivodeinicializaciónenlacarpetaPreferenciasenlacarpetadelSistema.

section Obligatorio.Expresióndetipocadenaquecontieneelnombredelaseccióndondesevaaguardarlaclave.

key Obligatorio.Expresióndetipocadenaquecontieneelnombredelaclavequesevaaguardar.

setting Obligatorio.Expresiónquecontieneelvalorquesevaaestablecerenkey.

Comentarios

Seproduceunerrorsiporalgúnmotivonosepuedeguardarelvalordelaclave.

Seek(Instrucción)

EstablecelaposicióndelapróximaoperacióndelecturaoescrituraenunarchivoabiertomediantelainstrucciónOpen.

Sintaxis

Seek[#]númeroarchivo,posición

LasintaxisdelainstrucciónSeekconstalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.posición Requerido.Unnúmeroentre1y2.147.483.647inclusive,

queindicalaposiciónenlaquesedebeejecutarlapróximaoperacióndelecturaoescritura.

Comentarios

LosnúmerosderegistroespecificadosenlasinstruccionesGetyPutanulanlaposicióndearchivoespecificadaporSeek.

SiseejecutaunaoperacióndeescrituradearchivodespuésdeunainstrucciónSeekmásalládelfindeunarchivo,seextiendeelarchivo.Siseintentaejecutar

unainstrucciónSeekenunaposiciónnegativaocero,seproduceunerror.

SelectCase(Instrucción)

Ejecutaunodevariosgruposdeinstrucciones,dependiendodelvalordeunaexpresión.

Sintaxis

SelectCaseexpresión_prueba[Caselista_expresion-n[instrucciones-n]]...[CaseElse[instrucciones_else]]

EndSelect

LasintaxisdelainstrucciónSelectCaseconstadelassiguientespartes:

Parte Descripciónexpresión_prueba Requerido.Cualquierexpresiónnuméricaoexpresiónde

cadena.lista_expresión-n RequeridosiaparecelapalabraclaveCase.Lista

delimitadaporcomasdeunaomásdelasformassiguientes:expresión,expresiónToexpresión,Isexpresiónoperador_de_comparación.Lapalabraclaveespecificaunintervalodevalores.SiseutilizalapalabraclaveTo,elvalormenordebeaparecerantesdeTo.UtilicelapalabraclaveIsconoperadoresdecomparación(exceptoIsyLike)paraespecificarunintervalodevalores.Sinoseescribe,lapalabraclaveIsseinsertaráautomáticamente.

instrucciones-n Opcional.Unaomásinstruccionesejecutadassiexpresión_pruebacoincideconcualquierpartedelista_expresión-n.

instrucciones_else

Opcional.Unaomásinstruccionesqueseejecutensiexpresión_pruebanocoincideconnadadelacláusulaCase.

Comentarios

Siexpresión_pruebacoincideconcualquierlista_expresiónasociadaconunacláusulaCase,lasinstruccionesquesiguenaesacláusulaCaseseejecutanhastalasiguientecláusulaCaseo,paralaúltimacláusula,hastalainstrucciónEndSelect.ElcontrolpasadespuésalainstrucciónquesigueaEndSelect.Si

expresión_pruebacoincideconunaexpresióndelista_expresiónenmásdeunacláusulaCase,sóloseejecutanlasinstruccionesquesiguenalaprimeracoincidencia.

LacláusulaCaseElseseutilizaparaindicarlasinstruccionesquesevanaejecutarsinoseencuentrancoincidenciasentreexpresión_pruebayunalista_expresiónencualquieradelasotrasseleccionesdeCase.Aunquenoesnecesario,esbuenaideatenerunainstrucciónCaseElseenelbloqueSelectCaseparacontrolarvaloresimprevistosdeexpresión_prueba.CuandonohayunainstrucciónCaseElseyningunaexpresióndelalistaenlascláusulasCasecoincideconlaexpresióndeprueba,laejecucióncontinúaenlainstrucciónquesigueaEndSelect.

SepuedenutilizarexpresionesmúltiplesointervalosencadacláusulaCase.Porejemplo,lalíneasiguienteesválida:

Case1To4,7To9,11,13,Is>MaxNumber

NotaEloperadordecomparaciónIsnoeslomismoquelapalabraclaveIsutilizadaenlainstrucciónSelectCase.

Tambiénpuedeespecificarintervalosyexpresionesmúltiplesparacadenasdecaracteres.Enelsiguienteejemplo,Casecoincideconlascadenasquesonexactamenteigualesatodo,cadenasqueestánentrenuecesysopaenordenalfabéticoyelvaloractualdeElemPrueba:

Case"igualesatodo","nueces"To"sopa",ElemPrueba

LasinstruccionesSelectCasesepuedenanidar.CadainstrucciónSelectCasedebetenersucorrespondienteinstrucciónEndSelect.

SendKeys(Instrucción)

Envíaunaomáspulsacionesdeteclasalaventanaactiva,comosisehubieranpresionadodesdeelteclado.

Sintaxis

SendKeysstring[,wait]

LasintaxisdelainstrucciónSendKeysconstadeestosargumentosconnombre:

Parte Descripciónstring Requerido.Expresióndecadenaqueespecificalaspulsacionesde

teclasquesevanaenviar.wait Opcional.ValorBooleanqueindicaelmododeespera.Siestevalor

esFalse(predeterminado),sedevuelveelcontrolalprocedimientoinmediatamentedespuésdeenviarlaspulsaciones.SiesTrue,seprocesanlaspulsacionesantesdedevolverelcontrolalprocedimiento.

Comentarios

Cadateclaestárepresentadaporunoomáscaracteres.Paraespecificarunúnicocarácterdelteclado,seutilizaelcarácterpropiamentedicho.Porejemplo,pararepresentarlaletraA,utilice"A"comostring.Sisedesearepresentarmásdeuncarácter,agreguecadacarácteradicionalalqueloprecede.PararepresentarlasletrasA,ByC,utilice"ABC"parastring.

Elsignomás(+),elsímbolodeintercalación(^),elsímbolodeporcentaje(%),latilde(~)ylosparéntesis()tienensignificadosespecialesparaSendKeys.Paraespecificarunodeestoscaracteres,debeincluirloentrellaves.Porejemplo,paraespecificarelsignomás,utilice{+}.Loscorchetes([])notienenunsignificadoespecialparaSendKeys,perodebeescribirlosentrellavesporque,enotrasaplicaciones,lotienenyesopuedetenerimportanciacuandoseproduceunintercambiodinámicodedatos(DDE).Paraespecificarllaves,utilice{{}y{}}.

Paraespecificarcaracteresquenosemuestranalpresionarunatecla(comoporejemploEntraroTab)yteclasquerepresentanacciones,enlugardecaracteres,seutilizanlossiguientescódigos:

Tecla CódigoRetroceso {BACKSPACE},{BS}o{BKSP}

{BREAK}

PausaBloqMayús {CAPSLOCK}

Supr {DELETE}o{DEL}Flechaabajo {DOWN}

Fin {END}

Entrar {ENTER}o~Esc {ESC}

Ayuda {HELP}

Inicio {HOME}

Insert {INSERT}o{INS}Flechaizquierda {LEFT}

BloqNum {NUMLOCK}

RePág {PGDN}

AvPág {PGUP}

ImprPant {PRTSC}

Flechaderecha {RIGHT}

BloqDespl {SCROLLLOCK}

Tab {TAB}

Flechaarriba {UP}

F1 {F1}

F2 {F2}

F3 {F3}

F4 {F4}

F5 {F5}

F6 {F6}

F7 {F7}

F8 {F8}

F9 {F9}

F10 {F10}

F11 {F11}

F12 {F12}

F13 {F13}

F14 {F14}

F15 {F15}

F16 {F16}

ParaespecificarteclasconcualquiercombinacióndelasteclasMAYÚS,CTRLyALT,introduzcadelantedelcódigodelateclaunoomásdelossiguientescódigos:

Tecla CódigoMayús +

Ctril(Control) ^

Alt %

ParaespecificarquesedebemantenerpresionadaunacombinacióncualquieradelasteclasMayús,CtrlyAltmientrassepresionanotrasteclas,pongaentreparéntesiselcódigorelativoaesasteclas.Porejemplo,paraespecificarquesedebemantenerpresionadaMAYÚSmientrassepresionanlasteclasEyC,utilice"+(EC)".ParaespecificarquesedebemantenerpresionadaMayúsmientrassepresionalateclaEyqueluegosedebepresionarC,sinpresionarMayús,utilice"+EC".

Paraespecificarpulsacionesrepetidasdeteclas,utiliceelformato{teclanúmero}.Debedejarunespacioenblancoentreteclaynúmero.Porejemplo,{LEFT42}significaquesedebepresionarlateclaFlechaIzquierda42veces;{h10}significaquesedebepresionarlateclah10veces.

NotaNopuedeutilizarSendKeysparaenviarpulsacionesdeteclasaaplicacionesquenoesténdiseñadasparafuncionarconMicrosoftWindows.oMacintoshSendKeyspuedeenviartambiénlapulsacióndelateclaImprPant(PRTSC)acualquieraplicación.

Set(Instrucción)

Asignaunareferenciadeobjetoaunavariableopropiedad.

Sintaxis

Setvariable_objeto={[New]expresión_objeto|Nothing}

LasintaxisdelainstrucciónSetconstadelassiguientespartes:

Parte Descripciónvariable_objeto Requerido.Nombredelavariableodelapropiedad;sigue

lasconvencionesestándardenombresdevariables.New Opcional.Newseutilizanormalmenteduranteuna

declaraciónparapermitirlacreaciónimplícitadeunobjeto.CuandoutilizaNewconlainstrucciónSetsecreaunanuevainstanciadelaclase.Sivariable_objetoconteníaunareferenciaaunobjeto,estareferenciaseliberacuandoseasignaelnuevoobjeto.LapalabraclaveNewnosepuedeutilizarparacrearnuevasinstanciasdecualquiertipodedatosintrínseconiparacrearobjetosdependientes.

expresión_objeto Requerido.Expresiónqueconsisteenelnombredeunobjeto,otravariabledeclaradadelmismotipodeobjetos,ounafunciónométodoquedevuelveunobjetodelmismotipodeobjeto.

Nothing Opcional.Interrumpeunaasociacióndevariable_objetoconcualquierobjetoespecífico.AlasignarNothingavariable_objetoseliberantodoslosrecursosdelsistemaydememoriaasociadosconelobjetoalquesehizoreferenciapreviamentecuandoningunaotravariableserefiereaél.

Comentarios

Paraserválido,variable_objetodebeseruntipodeobjetocoherenteconelobjetoqueselehaasignado.

LasinstruccionesDim,Private,Public,ReDimyStaticsólodeclaranunavariablequeserefiereaunobjeto.NoseharáreferenciaaningúnobjetorealhastaqueuselainstrucciónSetparaasignarunobjetoespecífico.

ElsiguienteejemploilustraelusodeDimparadeclararunamatrizdeltipoForm1.ActualmentenoexisteningunainstanciadeForm1.SetasignareferenciasanuevasinstanciasdeForm1alavariablemisFormulariosSecundarios.EstecódigosepodríautilizarparacrearformulariossecundariosenunaaplicaciónMDI.

DimmisFormulariosSecundarios(1to4)AsForm1

SetmisFormulariosSecundarios(1)=NewForm1

SetmisFormulariosSecundarios(2)=NewForm1

SetmisFormulariosSecundarios(3)=NewForm1

SetmisFormulariosSecundarios(4)=NwqForm1

Generalmente,cuandousaSetparaasignarunareferenciadeobjetoaunavariable,nosecreaningunacopiadelobjetoparaesavariable.Ensulugarsecreaunareferenciaalobjeto.Másdeunavariabledeobjetosepuedereferiralmismoobjeto.Puestoqueestasvariablessonreferenciasalobjeto(nocopiasdeél),cualquiercambioenelobjetosereflejaentodaslasvariablesqueserefierenaél.Noobstante,cuandoutilizalapalabraclaveNewenlainstrucciónSet,enrealidadestácreandounainstanciadelobjeto.

SetAttr(Instrucción)

Establecelosatributosdeunarchivo.

Sintaxis

SetAttrpathname,attributes

LasintaxisdelainstrucciónSetAttrconstadelossiguientesargumentosconnombres:

Parte Descripciónpathname Requerido.Expresióndecadenaqueespecificaunnombre

dearchivo.Puedeincluireldirectorioocarpetaylaunidaddedisco.

attributes Requerido.Constanteoexpresiónnumérica,cuyasumaespecificalosatributosdearchivo.

Valores

Elargumentoyvaloresdeattributesson:

Constante Valor DescripciónvbNormal 0 Normal(predeterminado)vbReadOnly 1 SólolecturavbHidden 2 OcultovbSystem 4 Archivodesistema.No

disponibleenMacintosh.vbArchive 32 Elarchivohasido

modificadodespuésdehaberseefectuadolaúltimacopiadeseguridad.

vbAlias 64 Elnombreespecificadoesunalias.DisponiblesóloenMacintosh.

NotaVisualBasicparaaplicacionesespecificaestasconstantes.Comoresultadodeello,esosnombressepuedenutilizarencualquierlugardelcódigosustituyendoalvalorcorrespondiente.

Comentarios

Sisetratadeestablecerlosatributosdeunarchivoabierto,seproduciráunerrorentiempodeejecución.

Static(Instrucción)

Seusaenelniveldeprocedimientoparadeclararvariablesyasignarlesespaciodealmacenamiento.LasvariablesdeclaradasconlainstrucciónStaticconservansuvalormientraselcódigoseestáejecutando.

Sintaxis

Staticnombre_variable[([subíndices])][As[New]tipo][,nombre_variable[([subíndices])][As[New]tipo]]...

LasintaxisdelainstrucciónStaticconstadeestaspartes:

Parte Descripciónnombre_variable

Requerido.Nombredelavariable;siguelasconvencionesestándardenombresdevariable.

subíndices Opcional.Dimensionesdeunavariabledematriz;sepuedendeclararhasta60dimensionesmúltiples.Elargumentosubíndicesusalasintaxissiguiente:

[inferiorTo]superior[,[inferiorTo]superior]...

Cuandonosedeclaraexplícitamenteeninferior,ellímiteinferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.EstelímiteinferiorescerosinohayningunainstrucciónOptionBase.

New Opcional.Palabraclavequepermitelacreaciónimplícitadeunobjeto.SiutilizaNewcuandodeclaralavariabledeobjeto,secreaunanuevainstanciadelobjetocomoprimerareferencia,deformaquenotienequeutilizarlainstrucciónSetparaasignarlareferenciadelobjeto.LapalabraclaveNewnosepuedeutilizarparadeclararvariablesdecualquiertipodedatosintrínseconiparadeclararinstanciasdeobjetosdependientes.

tipo Opcional.Tipodedatosdelavariable;puedeserByte,Boolean,

Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String,(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,untipodefinidoporelusuario,ountipodeobjeto.UseunacláusulaAstipodistintoparacadavariablequedefina.

Comentarios

Unavezqueelcódigodelmóduloseestáejecutando,lasvariablesdeclaradasconlainstrucciónStaticconservansuvalorhastaquesereinicieorestablezcaelmódulo.Enlosmódulosdeclase,lasvariablesdeclaradasconlainstrucciónStaticconservansuvalorencadainstanciadeclasehastaquesedestruyelainstancia.Enmódulosdeformulario,lasvariablesestáticasconservansuvalorhastaquesecierraelformulario.UselainstrucciónStaticenprocedimientosnoestáticosparadeclararexplícitamentevariablesquesonvisiblessólodentrodeunprocedimiento,perocuyavidaeslamismaqueladelmóduloenlaquesedefinióelprocedimiento.

UtiliceunainstrucciónStaticdentrodeunprocedimientoparadeclarareltipodedatosdeunavariablequeconservasuvalorentrellamadasaprocedimiento.Porejemplo,lainstrucciónsiguientedeclaraunamatrizdeenterosdetamañofijo:

StaticNúmeroDeEmpleados(200)AsInteger

Lasiguientelíneadeclaraunavariableparaunanuevainstanciadeunahojadecálculo:

StaticXAsNewWorksheet

SilapalabraclaveNewnoseutilizaaldeclararunavariabledeobjeto,lavariablequehacereferenciaaunobjetodebeasignarseaunobjetoexistentemediantelainstrucciónSetantesdepoderutilizarla.Antesdequeseleasigneunobjeto,lavariabledeobjetodeclaradatieneelvalorespecialNothing,queindicaquenohacereferenciaaningunainstanciaenparticulardeunobjeto.CuandoutilizalapalabraclaveNewenladeclaración,secreaunainstanciadelobjetoenlaprimerareferenciadelmismo.

SinoespecificauntipodedatosountipodeobjetoynoexisteunainstrucciónDeftipoenelmódulo,lavariableesVariantdemanerapredeterminada.

NotaLainstrucciónStaticylapalabraclaveStaticsonsimilares,peroseutilizanparaconseguirefectosdiferentes.SideclaraunprocedimientoconlapalabraclaveStatic(comoenStaticSubContarVentas()),elespaciodealmacenamientocorrespondienteatodaslasvariableslocalesdentrodelprocedimientoseasignaunaúnicavezyelvalordelasvariablesseconservadurantetodoeltiempoqueseestéejecutandoelprograma.Paraprocedimientosnoestáticos,elespaciodealmacenamientoparalasvariablesseasignacadavezquesellamaalprocedimientoyseliberacuandosesaledelprocedimiento.LainstrucciónStaticseusaparadeclararvariablesespecíficasdentrodeprocedimientosnoestáticosparaconservarsuvalormientraselprogramaseestéejecutando.

Alinicializarlasvariables,unavariablenuméricaseinicializaa0,unacadenadelongitudvariableseinicializaaunacadenadelongitudcero("")yunacadenadelongitudfijaserellenaconceros.LasvariablesVariantseinicializanaEmpty.Cadaelementodeunavariabledeuntipodefinidoporelusuarioseinicializacomosifueraunavariabledistinta.

NotaCuandoutiliceinstruccionesStaticdentrodeunprocedimiento,colóquelasalprincipiodelprocedimientoconotrasinstruccionesdedeclaracióncomoDim.

Stop(Instrucción)

Suspendelaejecución.

Sintaxis

Stop

Comentarios

SepuedencolocarinstruccionesStopencualquierpartedelosprocedimientosparasuspenderlaejecución.ElusodelainstrucciónStopessimilaraestablecer

unpuntodeinterrupciónenelcódigo.

LainstrucciónStopsuspendelaejecución,peroadiferenciadeEndnocierraningúnarchivoniborravariables,amenosqueseaunarchivoejecutablecompilado(.exe).

Sub(Instrucción)

Declaraelnombre,losargumentos,yelcódigoquecomponenelcuerpodeunprocedimientoSub.

Sintaxis

[Private|Public|Friend][Static]Subnombre[(lista_argumentos)][instrucciones][ExitSub][instrucciones]

EndSub

LasintaxisdelainstrucciónSubconstadelassiguientespartes:

Parte DescripciónPublic Opcional.IndicaqueelprocedimientoSubesaccesiblepara

todoslosdemásprocedimientosdetodoslosmódulos.SiseusaenunmóduloquecontieneunainstrucciónOptionPrivate,elprocedimientonoestádisponiblefueradelproyecto.

Private Opcional.IndicaqueelprocedimientoSubesaccesiblesóloparaotrosprocedimientosdelmóduloenelquesedeclara.

Friend Opcional.Seutilizasolamenteenunmódulodeclase.IndicaqueelprocedimientoSubesvisibleatravésdelproyecto,peronoporuncontroladordeunainstanciadeunobjeto.

Static Opcional.IndicaquelasvariableslocalesdelprocedimientoSubseconservanentredistintasllamadas.ElatributoStaticnoafectaalasvariablesquesedeclaranfueradeSub,inclusoaunqueseusenenelprocedimiento.

nombre Requerido.NombredelprocedimientoSub;siguelasconvencionesestándardenombresdevariable.

lista_argumentos

Opcional.ListadevariablesquerepresentanlosargumentosquesepasanalprocedimientoSubcuandoselellama.Lasdistintasvariablesseseparanmediantecomas.

instrucciones Opcional.CualquiergrupodeinstruccionesqueseejecutandentrodelprocedimientoSub.

Elargumentolista_argumentosconstadelassiguientespartesysintaxis:

[Optional][ByVal|ByRef][ParamArray]nombre_variable[()][Astipo][=valor_predeterminado]

Parte DescripciónOptional Opcional.Palabraclavequeindicaquenoserequiereningún

argumento.Siseusa,todoslosargumentossubsiguientesdelista_argumentostambiéndebenseropcionalesydeclararse

mediantelapalabraclaveOptional.OptionalnosepuedeutilizarparaningúnargumentosiseusaParamArray.

ByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeselmodopredeterminadoenVisualBasic.ParamArray Opcional.Sóloseutilizacomoelúltimoargumentode

lista_argumentosparaindicarqueelargumentofinalesunamatrizOptionaldeelementostipoVariant.LapalabraclaveParamArraylepermiteproporcionarunnúmeroarbitrariodeargumentos.NosepuedeutilizarconByVal,ByRefuOptional.

nombre_variable

Requerido.Nombredelavariablequerepresentaelargumento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Eltipodedatosdelargumentoquesepasaalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidoactualmente),Date,String(solamentelongitudvariable),Object,Variant,ountipodeobjetoespecífico.SielparámetronoesOptional,sepuedeespecificartambiénuntipodefinidoporelusuario.

valor_predeterminado

Opcional.Cualquierconstanteoexpresióndeconstante.SóloesválidoparaparámetrosOptional.SieltipoesObject,unvalorpredeterminadoexplícitosólopuedeserNothing.

Comentarios

SinoseespecificaexplícitamentemediantePublic,PrivateoFriend,losprocedimientosSubsonpúblicosdemanerapredeterminada.SinoseusaStatic,elvalordelasvariableslocalesnosemantieneentredistintasllamadas.LapalabraclaveFriendsolamentesepuedeusarenmódulosdeclase.Sinembargo,losprocedimientosencualquiermódulodeunproyectopuedenaccederalosprocedimientosFriend.UnprocedimientoFriendnoapareceenlabibliotecadetipodesuclaseprimaria,nisepuedeenlazarposteriormente.

PrecauciónLosprocedimientosSubpuedenserrecursivos;esdecir,sepuedenllamarasímismospararealizarunatareadeterminada.Sinembargo,estopuedellevaraldesbordamientodelapila.LapalabraclaveStaticgeneralmentenoseutilizaconprocedimientosrecursivosSub.

Todocódigoejecutabledebeestarenprocedimientos.NopuededefinirunprocedimientoSubdentrodeotroprocedimientoSub,FunctionoProperty.

LaspalabrasclaveExitSubcausanlainmediatasalidadeunprocedimientoSub.LaejecucióndelprogramacontinúaconlainstrucciónquesiguealainstrucciónquellamóelprocedimientoSub.CualquiernúmerodeinstruccionesExitSubpuedeaparecerencualquierlugardeunprocedimientoSub.

AligualqueunprocedimientoFunction,unprocedimientoSubesunprocedimientodistintoquetomaargumentos,llevaacabounaseriedeinstruccionesycambiaelvalordesusargumentos.Sinembargo,adiferenciadeunprocedimientoFunction,elcualdevuelveunvalor,unprocedimientoSubnosepuedeutilizarenunaexpresión.

ParallamaraunprocedimientoSub,useelnombredelprocedimientoseguidodelalistadeargumentos.ConsultelainstrucciónCallparaobtenerinformaciónespecíficaacercadecómollamaralosprocedimientosSub.

LasvariablesusadasenprocedimientosSubsedividenendoscategorías:lasqueestánexplícitamentedeclaradasdentrodelprocedimientoylasquenoloestán.Lasvariablesdeclaradasexplícitamenteenunprocedimiento(medianteDimounequivalente)siempresonlocalesdelprocedimiento.Otrasvariablesusadasperonodeclaradasexplícitamenteenunprocedimientotambiénsonlocales,amenosquesedeclarenexplícitamenteenalgúnnivelsuperiorfueradelprocedimiento.

PrecauciónUnprocedimientopuedeusarunavariablequenoestédeclaradaexplícitamenteenelprocedimiento,peropuedeocurrirunconflictodenombressicualquiercosaquehadefinidoenelniveldemódulotieneelmismonombre.Sielprocedimientoserefiereaunavariablenodeclaradaquetieneelmismonombrequeotroprocedimiento,constanteovariable,sesuponequeelprocedimientoseestárefiriendoalnombredeeseniveldemódulo.Paraevitarestetipodeconflictos,declarelasvariablesexplícitamente.Puedeusaruna

instrucciónOptionExplicitparaforzarladeclaraciónexplícitadevariables.

NotaNosepuedeusarGoSub,GoTooReturnparaobteneraccesoosalirdeunprocedimientoSub.

Time(Instrucción)

Establecelahoraactualdelsistema.

Sintaxis

Time=hora

Elargumentohoraescualquierexpresiónnumérica,expresióndecadenaocualquiercombinaciónquepuedarepresentarunahora.

Comentarios

Sihoraesunacadena,Timeintentaconvertirlaenunahorausandolosseparadoresdehoraqueseespecificaronparasusistema.Sinosepuedeconvertirenunahoraválida,seproduciráunerror.

Type(Instrucción)

Seusaenelniveldemóduloparadefiniruntipodedatosdefinidoporelusuarioquecontieneunoomáselementos.

Sintaxis

[Private|Public]Typenombre_variablenombre_elemento[([subíndices])]Astipo[nombre_elemento[([subíndices])]Astipo]...

EndType

LasintaxisdelainstrucciónTypeconstadelassiguientespartes:

Parte DescripciónPublic Opcional.Seusaparadeclarartiposdefinidosporelusuario

queestándisponiblesparatodoslosprocedimientosentodoslosmódulosdetodoslosproyectos.

Private Opcional.Seusaparadeclarartiposdefinidosporelusuarioquesóloestándisponiblesdentrodelmódulodondesehaceladeclaración.

nombre_variable

Requerido.Nombredeltipodefinidoporelusuario;siguelasconvencionesestándardenombresdevariable.

nombre_elemento

Requerido.Nombredeunelementodeltipodefinidoporelusuario.Losnombresdeelementostambiénsiguenlasconvencionesestándardenombres,exceptoenquesepuedenutilizarpalabrasclave.

subíndices Cuandonosedeclaraexplícitamenteeninferior,ellímiteinferiordeunamatrizsecontrolamediantelainstrucciónOptionBase.Ellímiteinferiorescerosinohayninguna

instrucciónOptionBase.tipo Requerido.Tipodedatosdelelemento;puedeserByte,

Boolean,Integer,Long,Currency,Single,Double,Decimal(noadmitidaactualmente),Date,String(paracadenasdelongitudvariable),String*length(paracadenasdelongitudfija),Object,Variant,otrotipodefinidoporelusuarioountipodeobjeto.

Comentarios

LainstrucciónTypesólopuedeutilizarseenelniveldemódulo.UnavezquehadeclaradountipodefinidoporelusuarioconlainstrucciónType,puededeclararunavariabledeesetipoencualquierlugardentrodelalcancedeladeclaración.UseDim,Private,Public,ReDimoStaticparadeclararunavariabledeuntipodefinidoporelusuario.

Enlosmódulosestándarymódulosdeclase,lostiposdefinidosporelusuariosonpúblicosdemanerapredeterminada.EstavisibilidadsepuedecambiarmediantelapalabraclavePrivate.

NúmerosdelíneayetiquetasdelíneanoestánpermitidosenbloquesType...EndType.

Lostiposdefinidosporelusuarioseutilizanamenudoconregistrosdedatos,loscualesconsistenfrecuentementeenunaseriedeelementosrelacionadosdediferentestiposdedatos.

Enesteejemplosemuestraelusodematricesdetamañofijoenuntipodefinidoporelusuario:

TypeDatosRegión

CógigoCiudad(1To100)AsInteger'Declaraunamatrizestática.

CondadoAsString*30

EndType

DimWashington(1To100)AsDatosRegión

Enelejemploanterior,DatosRegiónincluyelamatrizestáticaCódigoCiudadyelregistroWashingtontienelamismaestructuraqueDatosRegión.

Cuandodeclaraunamatrizdetamañofijodentrodeuntipodefinidoporelusuario,susdimensionesdebendeclararseconliteralesnuméricosoconstantesenlugardevariables.

While...Wend(Instrucción)

EjecutaunaseriedeinstruccionesmientrasunacondicióndadaseaTrue.

Sintaxis

Whilecondición[intrucciones]

Wend

LasintaxisdelainstrucciónWhile...Wendconstadelassiguientespartes:

Parte Descripcióncondición Requerido.Expresiónnuméricaoexpresióndecadenacuyo

valoresTrueoFalse.SicondiciónesNull,condiciónseconsideraFalse.

instrucciones Opcional.UnaomásinstruccionesqueseejecutanmientraslacondiciónesTrue.

Comentarios

SicondiciónesTrue,todaslasinstruccionesseejecutanhastaqueseencuentralainstrucciónWend.Después,elcontrolvuelvealainstrucciónWhileysecompruebadenuevocondición.SicondiciónesaúnTrue,serepiteelproceso.SinoesTrue,laejecuciónsereanudaconlainstrucciónquesiguealainstrucciónWend.

LosbuclesWhile...Wendsepuedenanidaracualquiernivel.CadaWendcoincideconelWhilemásreciente.

SugerenciaLainstrucciónDo...Loopproporcionaunamaneramásflexibleyestructuradaderealizarlosbucles.

Width#

(Instrucción)

AsignaelanchodelíneadesalidaaunarchivoabiertomediantelainstrucciónOpen.

Sintaxis

Width#númeroarchivo,ancho

LasintaxisdelainstrucciónWidthconstalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivo.ancho Requerido.Unaexpresiónnuméricaentre0y255inclusive,

queindicacuántoscaracteresaparecenenunalíneaantesdeempezarunanuevalínea.Sianchoesiguala0,nohayningúnlímiteparalalongituddelínea.Elvalorpredeterminadodeanchoes0.

With(Instrucción)

Ejecutaunaseriedeinstruccionessobreunúnicoobjetoosobreuntipodefinidoporelusuario.

Sintaxis

Withobjeto[instrucciones]

EndWith

LasintaxisdelainstrucciónWithconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Nombredeunobjetoodeuntipodefinidopor

elusuario.instrucciones Opcional.Unaomásinstruccionesquesevanaejecutar

sobreobjeto.

Comentarios

LainstrucciónWithpermiterealizarunaseriedeinstruccionessobreunobjetoespecificadosinvolveracalificarelnombredelobjeto.Porejemplo,paracambiarunnúmerodepropiedadesdiferentesenunúnicoobjeto,esmásconvenientecolocarlasinstruccionesdeasignacióndelaspropiedadesenlaestructuradecontrolWith,haciendoreferenciaalobjetounavez,enlugardehacerloconcadaasignacióndepropiedad.ElsiguienteejemploilustraelusodelainstrucciónWithparaasignarvaloresavariaspropiedadesdelmismoobjeto.

WithMyLabel

.Height=2000

.Width=2000

.Caption="Estaesmietiqueta"

EndWith

NotaUnavezquesehaentradoenunbloqueWithnoesposiblecambiarelobjeto.Portanto,nopuedeutilizarunaúnicainstrucciónWithparavariosobjetos.

SepuedenanidarinstruccionesWithcolocandounbucleWithdentrodeotro.Sinembargo,comolosmiembrosdelosbloquesexternosWithestánenmascaradosporlospropiosbloquesWith,deberáproporcionaruncualificadorcompletocomoreferenciaalobjetoenelbloqueWithparareferirseacualquierotroobjetofueradelbloqueWith.

NotaEngeneral,noesaconsejablequesaltehaciadentroohaciafueradebloquesWith.SiseejecutaninstruccionesenbloquesWith,sinqueseejecutenlasinstruccionesWithoEndWithpermaneceenmemoriaunavariable

temporalquecontieneunareferenciaalobjetohastaquesalgadelprocedimiento.

Write#(Instrucción)

Escribedatosenunarchivosecuencial.

Sintaxis

Write#númeroarchivo,[listasalida]

LasintaxisdelainstrucciónWriteconstalassiguientespartes:

Parte Descripciónnúmeroarchivo Requerido.Cualquiernúmerodearchivoválido.listasalida Opcional.Unaovariasexpresionesnuméricasoexpresiones

decadenadelimitadasporcomasquesedeseaescribirenunarchivo.

Comentarios

LosdatosqueseescribenconWrite#normalmenteseleendeunarchivoconInput#.

Siomitelistasalidaeincluyeunpuntoycomadespuésdenúmeroarchivo,seimprimeunalíneaenblancoenelarchivo.Sepuedensepararmúltiplesexpresionesconunespacio,unpuntoycoma(;)ounacoma.Unespaciotieneelmismoefectoqueunpuntoycoma.

CuandoseutilizaWrite#paraintroducirinformaciónenunarchivo,sesiguendistintasconvencionesuniversales,demodoquelosdatossiempresepuedenleereinterpretarcorrectamentemedianteInput#,independientementedelaconfiguraciónregional:

Losdatosnuméricossiempreseescribenutilizandolacoma(,)comoseparadordecimal.

ParadatosdetipoBooleanseimprime#TRUE#o#FALSE#.Laspalabrasclave#TRUE#o#FALSE#nosetraducen,independientementedelaconfiguraciónregionalenqueseestétrabajando.

LosdatosdetipoDateseescribenenelarchivousandoelformatodefechauniversal.Sielcomponentecorrespondientealafechaoalahorafaltaoesigualacero,sóloseescribeenelarchivolapartesuministrada.

SilosdatosdelistasalidasondetipoEmptynoseescribenadaenelarchivo.Sinembargo,enelcasodedatosNulllasalidaes#NULL#.

SieldatodelistasalidaNull,seescribe#NULL#enelarchivo.

ParadatosdeError,lasalidaapareceenelformato#ERRORcódigoerror#.LapalabraclaveErrornosetraduce,independientementedelaconfiguraciónregionalenqueestétrabajando.

AdiferenciadelainstrucciónPrint#,lainstrucciónWrite#insertapuntosycomaentreelementosycomillasalrededordecadenas,cuandoseescribenenelarchivo.Noesnecesariocolocardelimitadoresenlalista.Write#insertauncarácterdenuevalínea,queesunretornodecarroyunavancedelínea(Chr(13)+Chr(10)),despuésdequesehaescritoelúltimocarácterdelistasalidaenelarchivo.

NotaNodeberíaescribircadenasquecontenganmarcasdecomillas

incrustadas,porejemplo,"1,2""X"parautilizarlasconlainstrucciónInput#:Input#analizalacadenacomodoscadenascompletasyseparadas.

Add(Método)

AgregaunmiembroaunobjetoCollection.

Sintaxis

objeto.Additem,key,before,after

LasintaxisdelmétodoAddconstadelcalificadordeobjetoylosargumentosconnombresiguientes:

Parte Descripciónobjeto Requerido.Unaexpresióndeobjetoquedacomoresultadoun

objetoincluidoenlalistaSeaplicaa.item Requerido.Unaexpresióndecualquiertipoqueespecificael

miembroquesevaaagregaralacolección.key Opcional.Unaexpresióndecadenaúnicaqueespecificauna

cadenaclaveparautilizarlaenlugardeuníndiceposicionalalteneraccesoaunmiembrodelacolección.

before Opcional.Expresiónqueespecificaunaposiciónrelativaenlacolección.Elmiembroaagregarsecolocaráenlacolecciónantesdelmiembroidentificadoporelargumentoargumentobefore.Siesunaexpresiónnumérica,beforedebeserunnúmeroentre1yelvalordelapropiedadCountdelacolección.Siesunaexpresióndecadena,beforedebecorresponderalargumentokeyespecificadoalagregaralacolecciónelmiembroalquesehacereferencia.Esposibleespecificarposicionesconbeforeoconafter,peronoconambos.

after Opcional.Expresiónqueespecificaunaposiciónrelativaenlacolección.Elmiembroquesevaaagregarsecolocaráenlacoleccióndespuésdelmiembroidentificadoporelargumento

after.Siesnumérico,afterdebeserunnúmeroentre1yelvalordelapropiedadCountdelacolección.Siesunacadena,afterdebecorresponderalargumentokeyespecificadoalagregaralacolecciónelmiembroalquesehacereferencia.Esposibleespecificarposicionesconbeforeoconafter,peronoconambos.

Comentarios

Siemprequeelargumentobeforeoafterseaunaexpresióndecadenaonumérica,sedebereferiraunmiembroexistentedelacolección;delocontrarioocurriráunerror.

Tambiénocurreunerrorsiunakeyespecificadaduplicalakeydeunmiembroexistentedelacolección.

Add(Método)

Descripción

Agregaunparelemento,claveaunobjetoDictionary.

Sintaxis

objeto.Addclave,elemento

ElmétodoAddconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDictionary.clave Requerido.Laclaveasociadaconelelementoquese

agrega.elemento Requerido.Elelementoasociadoconlaclavequeseagrega.

Comentarios

Seproduceunerrorsilaclaveyaexiste.

AddFolders(Método)

Descripción

AgregaunobjetoFoldernuevoaunacolecciónFolders.

Sintaxis

objeto.AddnombreDeCarpeta

ElmétodoAddconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunacolección

Folders.nombreDeCarpeta Requerido.ElnombredelobjetoFoldersqueseagrega.

Comentarios

OcurreunerrorsinombreDeCarpetayaexiste.

BuildPath(Método)

Descripción

Anexaunnombreaunarutaexistente.

Sintaxis

objeto.BuildPath(ruta,nombre)

LasintaxisdelmétodoBuildPathconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

FileSystemObject.ruta Requerido.Rutaexistentealaqueseanexaelnombre.La

rutapuedeserabsolutaorelativaynonecesitaespecificarunacarpetaexistente.

nombre Requerido.Nombrequeseanexaalarutaexistente.

Comentarios

ElmétodoBuildPathintroduceunseparadorderutaadicionalentrelarutaexistenteyelnombresólosiesnecesario.

Clear(Método)

BorratodaslaspropiedadesestablecidasdelobjetoErr.

Sintaxis

objeto.Clear

ElobjetoessiempreelobjetoErr.

Comentarios

UseClearparaborrarexplícitamenteelobjetoErrdespuésdecontrolarunerror,porejemplo,cuandohaestablecidoeltratamientodiferidodeunerrorconOnErrorResumeNext.SellamaautomáticamentealmétodoCleardespuésdeejecutarcualquieradeestasinstrucciones:

CualquiertipodeinstrucciónResume

ExitSub,ExitFunction,ExitProperty

CualquierinstrucciónOnErrorNotaLaestructuraOnErrorResumeNextespreferibleaOnErrorGoToalcontrolarerroresgeneradosduranteelaccesoaotrosobjetos.ComprobarErrdespuésdecadainteracciónconunobjetoeliminalaambigüedadsobreaquéobjetosetieneaccesomediantecódigo.PuedesaberquéobjetohapuestoelerrorenErr.Number,asícomoquéobjetohageneradoelerror(elobjetoespecificadoenErr.Source).

Close(Método)

Descripción

CierraunarchivoTextStreamabierto.

Sintaxis

objeto.Close

ElobjetosiempreeselnombredeunobjetoTextStream.

Copy(Método)

Descripción

Copiaunacarpetaoarchivoespecificadodesdeunaubicaciónaotra.

Sintaxis

objeto.Copydestino[,sobrescribir]

LasintaxisdelmétodoCopyconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileoFolder.destino Requerido.Destinodondesecopiaelarchivoocarpeta.No

sepermitencaracterescomodín.sobrescribir Opcional.ElvalorBooleanqueesTrue(predeterminado)si

sevanasobrescribirarchivosocarpetasexistentes;Falsesinosevanasobrescribir.

Comentarios

LosresultadosdelmétodoCopyenunobjetoFileoFoldersonidénticosalasoperacionesqueserealizanutilizandoFileSystemObject.CopyFileo

FileSystemObject.CopyFolderdondeelarchivoocarpetaalqueobjetohacereferenciasepasacomounargumento.Debetenerencuenta,sinembargo,quelosmétodosalternativossoncapacesdecopiarmúltiplesarchivosocarpetas.

CopyFile(Método)

Descripción

Copiaunoomásarchivosdesdeunaubicaciónaotra.

Sintaxis

objeto.CopyFileorigen,destino[,sobrescribir]

LasintaxisdelmétodoCopyFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Elobjetosiempreeselnombredeunobjeto

FileSystemObject.origen Requerido.Especificacióndelarchivodecadenasde

caracteres,quepuedeincluircaracterescomodín,paraunoomásarchivosquesecopian.

destino Requerido.Eldestinodelacadenadecaracteresdondesevanacopiarelarchivooarchivosdesdeelorigen.Nosepermitenloscaracterescomodín.

sobrescribir Opcional.UnvalorBooleanqueindicasilosarchivosexistentessevanasobrescribir.SiesTrue,losarchivossesobrescriben;siesFalse,nosesobrescriben.Elvalor

predeterminadoesTrue.TengaencuentaqueelmétodoCopyFilefallarásieldestinotieneestablecidoelatributodesólolectura,independientementedelvalordesobrescribir.

Comentarios

Loscaracterescomodínsólosepuedenutilizarenelúltimocomponentedelarutadelargumentoorigen.Porejemplo,puedeutilizar:

FileSystemObject.CopyFile"c:\Misdocumentos\cartas\*.doc","c:\carpetatemp\"

Peronopuedeutilizar:

FileSystemObject.CopyFile"c:\Misdocumentos\*\R1???97.xls","c:\carpetatemp"

Sielorigencontienecaracterescomodínoeldestinofinalizaconunseparadorderuta(\),sesuponequedestinoesunacarpetaexistenteenlaquesecopiaránlosarchivoscoincidentes.Sino,sesuponequeeldestinoeselnombredeunarchivoquesevaacrear.Encualquiercaso,puedenocurrirtrescosascuandosecopiaunarchivoindividual.

Sieldestinonoexiste,elorigensecopia.Esteeselcasonormal.

Sieldestinoesunarchivoexistente,seproduceunerrorsisobrescribiresFalse.Sino,sehaceunintentodecopiarorigensobreelarchivoexistente.

Sieldestinoesundirectorio,seproduceunerror.

Tambiénseproduceunerrorsiunorigenqueutilizacaracterescomodínnocoincideconningúnarchivo.ElmétodoCopyFilesedetieneenelprimererrorqueencuentra.Nosehaceningúnintentodevolveratrásodeshacercualquiercambiorealizadoantesdequeseproduzcaunerror.

CopyFolder(Método)

Descripción

Copiarecursivamenteunacarpetadesdeunaubicaciónaotra.

Sintaxis

objeto.CopyFolderorigen,destino[,sobrescribir]

LasintaxisdelmétodoCopyFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.origen Requerido.Especificacióndelacarpetadecadenasde

caracteres,quepuedeincluircaracterescomodín,paraunaomáscarpetasquesecopian.

destino Requerido.Eldestinodelacadenadecaracteresdondesevanacopiarlacarpetaosubcarpetasdesdeelorigen.Nosepermitenloscaracterescomodín.

sobrescribir Opcional.UnvalorBooleanqueindicasilascarpetasexistentessevanasobrescribir.SiesTrue,losarchivossesobrescriben;siesFalse,nosesobrescriben.ElvalorpredeterminadoesTrue.

Comentarios

Loscaracterescomodínsólosepuedenutilizarenelúltimocomponentedelarutadelargumentoorigen.Porejemplo,puedeutilizar:

FileSystemObject.CopyFolder"c:\Misdocumentos\cartas\*","c:\carpetatemp\"

Peronopuedeutilizar:

FileSystemObject.CopyFolder"c:\Misdocumentos\*\*","c:\carpetatemp\"

Sielorigencontienecaracterescomodínoeldestinofinalizaconunseparadorderuta(\),sesuponequedestinoesunacarpetaexistenteenlaquecopiarlascarpetasysubcarpetascoincidentes.Sino,sesuponequeeldestinoeselnombredeunacarpetaquesevaacrear.Encualquiercaso,puedenocurrircuatrocosascuandosecopiaunacarpetaindividual.

Sinoexisteeldestino,secopianlacarpetaorigenytodosucontenido.Esteeselcasonormal.

Sieldestinoesunarchivoexistente,seproduceunerror.

Sieldestinoesundirectorio,sehaceunintentodecopiarlacarpetaytodosucontenido.Siexisteyaeneldestinounarchivocontenidoenorigen,seproduceunerrorsisobrescribiresFalse.Sino,seintentarácopiarelarchivosobreelarchivoexistente.

Sieldestinoesundirectoriodesólolectura,seproduceunerrorsisehaceunintentodecopiarunarchivodesólolecturaexistenteenesedirectorioysobrescribiresFalse.

Tambiénseproduceunerrorsiunorigenqueutilizacaracterescomodínnocoincideconningunacarpeta.

ElmétodoCopyFoldersedetieneenelprimererrorqueencuentra.Nosehace

ningúnintentodevolveratrásodeshacercualquiercambiorealizadoantesdequeseproduzcaunerror.

CreateFolder(Método)

Descripción

Creaunacarpeta.

Sintaxis

objeto.CreateFolder(nombreDeLaCarpeta)

ElmétodoCreateFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

FileSystemObject.nombreDeLaCarpeta Requerido.Unaexpresióndecadenaqueidentificala

carpetaquesevaacrear.

Comentarios

Seproduceunerrorsiyaexistelacarpetaespecificada.

CreateTextFile(Método)

Descripción

CreaunnombredearchivoespecificadoydevuelveunobjetoTextStreamquesepuedeutilizarparaleerdesdeoescribiraunarchivo.

Sintaxis

objeto.CreateTextFile(nombreDeArchivo[,sobrescribir[,unicode]])

ElmétodoCreateTextFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

FileSystemObjectoFolder.nombreDeArchivo Requerido.Unaexpresióndecadenaqueidentificaelarchivo

quesevaacrear.

sobrescribir Opcional.UnvalorBooleanqueindicasiunarchivoexistentesepuedesobrescribir.ElvaloresTruesielarchivosepuedesobrescribiryFalsesinosepuedesobrescribir.Siseomite,losarchivosexistentesnosesobrescriben.

unicode Opcional.UnvalorBooleanqueindicasielarchivosecreacomounarchivoUnicodeoASCII.ElvaloresTruesielarchivosecreacomounarchivoUnicodeyFalsesisecreacomounarchivoASCII.Siseomite,sesuponequeesunarchivoASCII.

Comentarios

ElcódigosiguientedemuestracómoutilizarelmétodoCreateTextFileparacrearyabrirunarchivodetexto:

SubCreateAfile

Setfs=CreateObject("Scripting.FileSystemObject")

Seta=fs.CreateTextFile("c:\archivoprueba.txt"

a.WriteLine("Estoesunaprueba.")

a.Close

EndSub

SielargumentosobrescribiresFalseonoseproporciona,paraunnombreDeArchivoyaexistente,seproduceunerror.

Delete(Método)

Descripción

Eliminaunarchivoocarpetaespecificada.

Sintaxis

objeto.Deleteforzar

LasintaxisdelmétodoDeleteconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileoFolder.forzar Opcional.ValorBooleanqueesTruesisevanaeliminarlos

archivosocarpetasconelatributodesólolecturaestablecidoyFalse(predeterminado)sinosevanaeliminar.

Comentarios

Seproduceunerrorsielarchivoolacarpetaespecificadosnoexisten.

LosresultadosdelmétodoDeleteenunobjetoFileoFoldersonidénticosalasoperacionesrealizadasutilizandoFileSystemObject.DeleteFileo

FileSystemObject.DeleteFolder.

ElmétodoDeletenodistingueentrelascarpetasquetienencontenidoylasqueno.Lacarpetaespecificadaseeliminaindependientementedesitieneonocontenido.

DeleteFile(Método)

Descripción

Eliminaunarchivoespecificado.

Sintaxis

objeto.DeleteFileespecArchivo[,forzar]

LasintaxisdelmétodoDeleteFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunFileSystemObject.especArchivo Requerido.Elnombredelarchivoquesevaaeliminar.El

argumentoespecArchivopuedecontenercaracterescomodínenelúltimocomponentedelaruta.

forzar Opcional.UnvalorBooleanqueesTruesisevanaeliminarlosarchivosconelatributodesólolecturaestablecidoyFalse(predeterminado)sinosevanaeliminar.

Comentarios

Seproduceunerrorsinoseencuentranarchivoscoincidentes.Elmétodo

DeleteFilesedetieneenelprimererrorqueencuentra.Noseintentavolveratrásodeshacercualquiercambioquesehicieraantesdequeseproduzcaunerror.

DeleteFolder(Método)

Descripción

Eliminaunacarpetaespecificadaysucontenido.

Sintaxis

objeto.DeleteFolderespecCarpeta[,forzar]

LasintaxisdelmétodoDeleteFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunFileSystemObject.especCarpeta Requerido.Elnombredelacarpetaquesevaaeliminar.El

argumentoespecCarpetapuedecontenercaracterescomodínenelúltimocomponentedelaruta.

forzar Opcional.UnvalorBooleanqueesTruesisevanaeliminarlascarpetasconelatributodesólolecturaestablecidoyFalse(predeterminado)sinosevanaeliminar.

Comentarios

ElmétodoDeleteFoldernodistingueentrecarpetasquetienencontenidoylas

queno.Lacarpetaespecificadaseeliminaindependientementedesitieneonocontenido.

Sinoseencuentrancarpetascoincidentes,seproduceunerror.ElmétodoDeleteFoldersedetieneenelprimererrorqueencuentra.Nosehaceningúnintentodevolveratrásodeshacerningúncambioquesehicieraantesdequeseprodujeraunerror.

DriveExists(Método)

Descripción

DevuelveTruesiexistelaunidadespecificadayFalsesinoexiste.

Sintaxis

objeto.DriveExists(especUnidad)

LasintaxisdelmétodoDriveExistsconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especUnidad Requerido.Unaletradeunidadounaespecificaciónderuta

completa.

Comentarios

Paraunidadesconmediosseparables,elmétodoDriveExistsdevuelveTrueinclusosinohaymediospresentes.UtilicelapropiedadIsReadydelobjetoDriveparadeterminarsiunaunidadestápreparada.

Exists(Método)

Descripción

DevuelveTruesiexisteunaclaveespecificadaenelobjetoDictionaryyFalsesinoexiste.

Sintaxis

objeto.Exists(clave)

LasintaxisdelmétodoExistsconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDictionary.clave Requerido.Valordelaclavequesebuscaenelobjeto

Dictionary.

FileExists(Método)

Descripción

DevuelveTruesiexisteunarchivoespecificadoyFalsesinoexiste.

Sintaxis

objeto.FileExists(especArchivo)

LasintaxisdelmétodoFileExistsconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especArchivo Requerido.Elnombredelarchivocuyaexistenciasevaa

determinar.Sedebeproporcionarunaespecificaciónderutacompleta(absolutaorelativa)sinoseesperaqueexistaelarchivoenlacarpetaactual.

FolderExists(Método)

Descripción

DevuelveTruesiexisteunacarpetaespecificadayFalsesinoexiste.

Sintaxis

objeto.FolderExists(especCarpeta)

LasintaxisdelmétodoFolderExistsconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especCarpeta Requerido.Elnombredelacarpetacuyaexistenciasevaa

determinar.Sedebeproporcionarunaespecificaciónderutacompleta(absolutaorelativa)sinoseesperaqueexistalacarpetaenlacarpetaactual.

GetAbsolutePathName(Método)

Descripción

Devuelveunarutainequívocaycompletadesdeunaespecificaciónderutaproporcionada.

Sintaxis

objeto.GetAbsolutePathName(especRuta)

LasintaxisdelmétodoGetAbsolutePathNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeun

FileSystemObject.especRuta Requerido.Laespecificacióndelarutaquesevaa

cambiarporunarutacompletaeinequívoca.

Comentarios

Unarutaescompletaeinequívocasiproporcionaunareferenciacompletadelaraízdelaunidadespecificada.Unarutacompletasólopuedefinalizarconuncarácterseparadorderuta(\)siespecificalacarpetadelaraízdeunaunidad

asignada.

Suponiendoqueeldirectorioactualesc:\Misdocumentos\informes,latablasiguienteilustraelcomportamientodelmétodoGetAbsolutePathName.

especRuta Returnedruta"c:" "c:\Misdocumentos\informes""c:.." "c:\Misdocumentos""c:\\\" "c:\""c:*.*\mayo97" "c:\Misdocumentos\informes\*.*\mayo97""region1" "c:\Misdocumentos\informes\region1""c:\..\..\Misdocumentos"

"c:\Misdocumentos"

GetBaseName(Método)

Descripción

Devuelveunacadenaquecontieneelnombrebasedelúltimocomponentedelaruta,sinlaextensióndelarchivo.

Sintaxis

objeto.GetBaseName(ruta)

LasintaxisdelmétodoGetBaseNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.ruta Requerido.Laespecificacióndelarutaparaelcomponente

cuyonombrebasesevaadevolver.

Comentarios

ElmétodoGetBaseNamedevuelveunacadenadelongitudcero("")siningúncomponentecoincideconelargumentoruta.

NotaElmétodoGetBaseNamesólofuncionaenlacadenaderuta

proporcionada.Nointentaresolverlaruta,nicompruebasuexistencia.

GetDrive(Método)

Descripción

DevuelveunobjetoDrivequecorrespondealaunidaddeunarutaespecificada.

Sintaxis

objeto.GetDriveespecUnidad

LasintaxisdelmétodoGetDriveconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especUnidad Requerido.ElargumentoespecUnidadpuedeserunaletrade

unidad(c),unaletradeunidadcondospuntosanexados(c:),unaletradeunidadcondospuntosyunseparadorderutasanexados(c:\),ocualquierespecificaciónderecursocompartidodered(\\equipo2\recursocompartido1).

Comentarios

Pararecursoscompartidosdered,sehaceunacomprobaciónparaasegurarqueexisteelrecursocompartido.

SeproduceunerrorsiespecUnidadnoseajustaaunodelosformulariosaceptadososinoexiste.

ParallamaralmétodoGetDriveenunacadenaderutanormal,utilicelasiguientesecuenciaparaconseguirunacadenaadecuadaqueutilizarenespecUnidad:

DriveSpec=GetDriveName(GetAbsolutePathName(Path))

GetDriveName(Método)

Descripción

Devuelveunacadenaquecontieneelnombredelaunidadparaunarutaespecificada.

Sintaxis

objeto.GetDriveName(ruta)

LasintaxisdelmétodoGetDriveNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.ruta Requerido.Laespecificacióndelarutaparaelcomponentecuyo

nombredeunidadsevaadevolver.

Comentarios

ElmétodoGetDriveNamedevuelveunacadenadelongitudcero("")silaunidadnosepuededeterminar.

NotaElmétodoGetDriveNamesólofuncionaenlacadenaderuta

proporcionada.Nointentaresolverlaruta,nicompruebasuexistencia.

GetExtensionName(Método)

Descripción

Devuelveunacadenaquecontieneelnombredelaextensióndelúltimocomponenteenunaruta.

Sintaxis

objeto.GetExtensionName(ruta)

LasintaxisdelmétodoGetExtensionNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.ruta Requerido.Laespecificacióndelarutaparaelcomponentecuyo

nombredeextensiónsevaadevolver.

Comentarios

Paraunidadesdered,seconsideraqueeldirectorioraíz(\)esuncomponente.

ElmétodoGetExtensionNamedevuelveunacadenadelongitudcero("")siningúncomponentecoincideconelargumentodelaruta.

GetFile(Método)

Descripción

DevuelveunobjetoFilequecorrespondealarchivoenunarutaespecificada.

Sintaxis

objeto.GetFile(especArchivo)

LasintaxisdelmétodoGetFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especArchivo Requerido.ElargumentoespecArchivoeslaruta(absolutao

relativa)deunarchivoespecífico.

Comentarios

Seproduceunerrorsielarchivoespecificadonoexiste.

GetFileName(Método)

Descripción

Devuelveelúltimocomponentedelarutaespecificadaquenoespartedelaespecificacióndelaunidad.

Sintaxis

objeto.GetFileName(especRuta)

LasintaxisdelmétodoGetFileNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.especRuta Requerido.Laruta(absolutaorelativa)deunarchivo

específico.

Comentarios

ElmétodoGetFileNamedevuelveunacadenadelongitudcero("")siespecRutanoterminaconelcomponentenombrado.

NotaElmétodoGetFileNamesólofuncionaenlacadenadelaruta

proporcionada.Nointentaresolverlaruta,nicompruebasuexistencia.

GetFolder(Método)

Descripción

DevuelveunobjetoFolderquecorrespondealacarpetaenunarutaespecificada.

Sintaxis

objeto.GetFolder(especCarpeta)

LasintaxisdelmétodoGetFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunFileSystemObject.especCarpeta Requerido.ElargumentoespecCarpetaeslaruta(absolutao

relativa)deunacarpetaespecífica.

Comentarios

Seproduceunerrorsilacarpetaespecificadanoexiste.

GetParentFolderName(Método)

Descripción

Devuelveunacadenaquecontieneelnombredelacarpetaprincipaldelúltimocomponenteenunarutaespecificada.

Sintaxis

objeto.GetParentFolderName(ruta)

LasintaxisdelmétodoGetParentFolderNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.ruta Requerido.Laespecificacióndelarutaparaelcomponentecuya

carpetaprincipalsevaadevolver.

Comentarios

ElmétodoGetParentFolderNamedevuelveunacadenadelongitudcero("")sinohaycarpetaprincipalparaelcomponenteespecificadoenelargumentoruta.

NotaElmétodoGetParentFolderNamesólofuncionaenlacadenaderuta

proporcionada.Nointentaresolverlaruta,nicompruebasuexistencia.

GetSpecialFolder(Método)

Descripción

Devuelvelacarpetaespecialespecificada.

Sintaxis

objeto.GetSpecialFolder(especCarpeta)

LasintaxisdelmétodoGetSpecialFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

FileSystemObject.especCarpeta Requerido.Elnombredelacarpetaespecialquesevaa

devolver.PuedesercualquieradelasconstantesquesemuestranenlasecciónValores.

Valores

ElargumentoespecCarpetapuedetenercualquieradelosvaloressiguientes:

Constante Valor Descripción

WindowsFolder 0 LacarpetaWindowscontienearchivosinstaladosporelsistemaoperativoWindows.

SystemFolder 1 LacarpetaSistemacontienebibliotecas,fuentesyunidadesdedispositivo.

TemporaryFolder 2 LacarpetaTempseutilizaparaalmacenararchivostemporales.SurutaseencuentraenlavariabledelentornoTMP.

GetTempName(Método)

Descripción

Devuelveunnombredecarpetaoarchivotemporalgeneradoaleatoriamentequeesútilpararealizaroperacionesquerequierenunarchivoocarpetatemporales.

Sintaxis

objeto.GetTempName

ElobjetoopcionalessiempreelnombredeunobjetoFileSystemObject.

Comentarios

ElmétodoGetTempNamenocreaunarchivo.SóloproporcionaunnombredearchivotemporalquesepuedeutilizarconelmétodoCreateTextFileparacrearunarchivo.

Item(Método)

DevuelveunmiembroespecíficodeunobjetoCollectionalindicarsuposiciónosuclave.

Sintaxis

objeto.Item(índice)

LasintaxisdelmétodoItemconstadelcalificadordeobjetoyelargumentosiguientes:

Parte Descripciónobjeto Requerido.Unaexpresióndeobjetoquedacomoresultadounobjeto

incluidoenlalistaSeaplicaa.índice Requerido.Unaexpresiónqueespecificalaposicióndeunmiembrode

lacolección.Siesunaexpresiónnumérica,índicedebeserunnúmeroentre1yelvalordelapropiedadCountdelacolección.Siesunaexpresióndecadena,índicedebecorresponderalvalorespecificadoenelargumentokeyalagregaralacolecciónelmiembroalquesehacereferencia.

Comentarios

Sielvalorindicadocomoíndicenocoincideconningúnmiembroexistentedelacolección,seproduciráunerror.

ElmétodoItemeselpredeterminadodelascolecciones.Portanto,lassiguienteslíneasdecódigosonequivalentes:

PrintMiColección(1)

PrintMiColección.Item(1)

Items(Método)

Descripción

DevuelveunamatrizquecontienetodosloselementosenunobjetoDictionary.

Sintaxis

objeto.Items

ElobjetoessiempreelnombredeunobjetoDictionary.

Comentarios

ElcódigosiguientedemuestralautilizacióndelmétodoItems.

Dima,d,i'Crearalgunasvariables

Setd=CreateObject("Scripting.Dictionary")

d.Add"a","Athens"'Agregaralgunasclavesyelementos

d.Add"b","Belgrade"

d.Add"c","Cairo"

a=d.Items'Obtenerloselementos

Fori=0Tod.Count-1'Iterarporcadaelementodelamatriz

Printa(i)'Imprimirelelemento

Next

...

Keys(Método)

Descripción

DevuelveunamatrizquecontienetodaslasclavesexistentesenunobjetoDictionary.

Sintaxis

objeto.Keys

ElobjetoessiempreelnombredeunobjetoDictionary.

Comentarios

ElcódigosiguientedemuestralautilizacióndelmétodoKeys:

Dima,d,i'Crearalgunasvariables

Setd=CreateObject("Scripting.Dictionary")

d.Add"a","Athens"'Agregaralgunasclavesyelementos

d.Add"b","Belgrade"

d.Add"c","Cairo"

a=d.keys'Conseguirlasclaves

Fori=0Tod.Count-1'Iterarporcadaelementodelamatriz

Printa(i)'Imprimirlaclave

Next

...

Move(Método)

Descripción

Mueveunarchivoocarpetaespecificadosdesdeunaubicaciónaotra.

Sintaxis

objeto.Movedestino

LasintaxisdelmétodoMoveconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileoFolder.destino Requerido.Eldestinodondesevaamoverelarchivoocarpeta.

Nosepermitenloscaracterescomodín.

Comentarios

LosresultadosdelmétodoMoveenunobjetoFileoFoldersonidénticosparalasoperacionesrealizadasutilizandoFileSystemObject.MoveFileoFileSystemObject.MoveFolder.Debetenerencuenta,sinembargo,quelosmétodosalternativossoncapacesdemovermúltiplesarchivosocarpetas.

MoveFile(Método)

Descripción

Mueveunoomásarchivosdesdeunaubicaciónaotra.

Sintaxis

objeto.MoveFileorigen,destino

LasintaxisdelmétodoMoveFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.origen Requerido.Larutadelarchivooarchivosquesevanamover.

Lacadenadelargumentoorigenpuedecontenercaracterescomodínsóloenelúltimocomponentedelaruta.

destino Requerido.Larutadondesevaamoverelarchivoolosarchivos.Elargumentodestinonopuedecontenercaracterescomodín.

Comentarios

Siorigencontienecomodínesodestinoterminaconunserparadorderuta(\),se

suponequedestinoespecificaunacarpetaexistentealaquesevanamoverlosarchivoscoincidentes.Sino,sesuponequedestinoeselnombredeunarchivodedestinoquesevaacrear.Encualquiercaso,puedenocurrirtrescosascuandosemueveunarchivoindividual:

Sidestinonoexiste,elarchivosemueve.Esteeselcasonormal.

Sidestinoesunarchivoexistente,seproduceunerror.

Sidestinoesundirectorio,seproduceunerror.

Tambiénseproduceunerrorsiunorigenqueutilizacaracterescomodínnocoincideconningúnarchivo.ElmétodoMoveFilesedetieneenelprimererrorqueseencuentra.Nosehaceningúnintentodevolveratrásodeshacercualquiercambiorealizadoantesdequeseproduzcaelerror.

ImportanteEstemétodopermitemoverarchivosentrevolúmenessólosiéstossoncompatiblesconelsistemaoperativo.

MoveFolder(Método)

Descripción

Mueveunaomáscarpetasdesdeunaubicaciónaotra.

Sintaxis

objeto.MoveFolderorigen,destino

LasintaxisdelmétodoMoveFolderconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileSystemObject.origen Requerido.Larutadelacarpetaocarpetasquesevanamover.

Lacadenadelargumentoorigenpuedecontenercaracterescomodínsóloenelúltimocomponentedelaruta.

destino Requerido.Larutadondesevanamoverlacarpetaocarpetas.Elargumentodestinonopuedecontenercaracterescomodín.

Comentarios

Siorigencontienecomodínesodestinofinalizaconunseparadorderuta(\),sesuponequedestinoespecificaunacarpetaexistentealaquesevanamoverlos

archivoscoincidentes.Sino,sesuponequedestinoeselnombredeunacarpetadedestinoquesevaacrear.Encualquiercaso,puedenocurrirtrescosascuandosemueveunacarpetaindividual:

Sidestinonoexiste,lacarpetasemueve.Esteeselcasonormal.

Sidestinoesunarchivoexistente,seproduceunerror.

Sidestinoesundirectorio,seproduceunerror.

Tambiénseproduceunerrorsiunorigenqueutilizacaracterescomodínnocoincideconningunacarpeta.ElmétodoMoveFoldersedetieneenelprimererrorqueseencuentra.Nosehaceningúnintentodevolveratrásodeshacercualquiercambiorealizadoantesdequeseproduzcaelerror.

ImportanteEstemétodopermitemovercarpetasentrevolumenessólosiéstossoncompatiblesconelsistemaoperativo.

OpenAsTextStream(Método)

Descripción

AbreunarchivoespecificadoydevuelveunobjetoTextStreamquesepuedeutilizarparaleerdesde,escribira,oanexaralarchivo.

Sintaxis

objeto.OpenAsTextStream([modoES,[formato]])

LasintaxisdelmétodoOpenAsTextStreamconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFile.modoES Opcional.Indicaelmododeentrada/salida.Puedeser

unadelastresconstantessiguientes:ForReading,ForWritingoForAppending.

formato Opcional.UnodelostresvaloresTristate(constantestriestado)queseutilizanparaindicarelformatodelarchivoabierto.Siseomite,elarchivoseabrecomoASCII.

Valores

ElargumentomodoESpuedetenercualquieradelosvaloressiguientes:

Constante Valor DescripciónForReading 1 Abrirunarchivocomosólolectura.Nose

puedeescribirenestearchivo.ForWriting 2 Abrirunarchivoparaescribir.Siexisteun

archivoconelmismonombre,sesobrescribeelcontenidoanterior.

ForAppending 8 Abrirunarchivoyescribiralfinaldelmismo.

Elargumentoformatopuedetenercualquieradelossiguientesvalores:

Constante Valor DescripciónTristateUseDefault –2 Abrirelarchivoutilizandoelvalor

predeterminadodelsistema.TristateTrue –1 AbrirelarchivocomoUnicode.TristateFalse 0 AbrirelarchivocomoASCII.

Comentarios

ElmétodoOpenAsTextStreamproporcionalamismafuncionalidadqueelmétodoOpenTextFiledelobjetoFileSystemObject.Además,elmétodoOpenAsTextStreamsepuedeutilizarparaescribirenunarchivo.

ElcódigosiguientedemuestralautilizacióndelmétodoOpenAsTextStreams:

SubTextStreamTest

ConstForReading=1,ForWriting=2,ForAppending=3

ConstTristateUseDefault=-2,TristateTrue=-1,

TristateFalse=0

Dimfs,f,ts,s

Setfs=CreateObject("Scripting.FileSystemObject")

fs.CreateTextFile"prueba1.txt"'Crearunarchivo

Setf=fs.GetFile("prueba1.txt")

Setts=f.OpenAsTextStream(ForWriting,TristateUseDefault

ts.Write"¡Holamundo!"

ts.Close

Setts=f.OpenAsTextStream(ForReading,TristateUseDefault

s=ts.ReadLine

MsgBoxs

ts.Close

EndSub

OpenTextFile(Método)

Descripción

AbreunarchivoespecificadoydevuelveunobjetoTextStreamquesepuedeutilizarparaleerdesdeoanexaralarchivo.

Sintaxis

objeto.OpenTextFile(nombreDeArchivo[,modoES[,crear[,formato]]])

ElmétodoOpenTextFileconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

FileSystemObject.nombreDeArchivo Requerido.Unaexpresióndecadenaqueidentificael

archivoquesevaaabrir.

modoES Opcional.Indicaelmododeentrada/salida.PuedeserunadelasdosconstantesForReadingoForAppending.

crear Opcional.UnvalorBooleanqueindicasisepuedecrearunarchivonuevocuandoelnombreDeArchivoespecificadonoexiste.ElvaloresTruesisecreaunarchivonuevoyFalsesinosecrea.ElvalorpredeterminadoesFalse.

formato Opcional.UnodelostresvaloresTristate(constantestriestado)queseutilizanparaindicarelformatodelarchivoabierto.Siseomite,elarchivoseabrecomoASCII.

Valores

ElargumentomodoESpuedetenercualquieradelosvaloressiguientes:

Constante Valor DescripciónForReading 1 Abrirunarchivosóloparalectura.Nopuede

escribirenestearchivo.ForAppending 8 Abrirunarchivoyescribiralfinaldelarchivo.

Elargumentoformatopuedetenercualquieradelosvaloressiguientes:

Constante Valor DescripciónTristateUseDefault –2 Abrirelarchivoutilizandoelvalor

predeterminadodelsistema.TristateTrue –1 AbrirelarchivocomoUnicode.TristateFalse 0 AbrirelarchivocomoASCII.

Comentarios

ElcódigosiguientedemuestralautilizacióndelmétodoOpenTextFileparaabrirunarchivoparaanexartexto:

SubOpenTextFileTest

ConstForReading=1,ForWriting=2,ForAppending=3

Dimfs,f

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.OpenTextFile("c:\archivotexto.txt"

f.Write"¡Holamundo!"

f.Close

EndSub

Print(Método)

ImprimetextoenlaventanaInmediato.

Sintaxis

objeto.Print[listasalida]

LasintaxisdelmétodoPrintconstadelcalificadordeobjetoyelargumentosiguientes:

Parte Descripciónobjeto Opcional.Unaexpresióndeobjetoquedacomoresultadoun

objetoincluidoenlalistaSeaplicaa.listasalida Opcional.Expresiónolistadeexpresionesquesevanaimprimir.

Siseomite,seimprimiráunalíneaenblanco.

Elargumentolistasalidatienelasintaxisyloscomponentessiguientes:

{Spc(n)|Tab(n)}expresión,posicióncarácter

Parte DescripciónSpc(n) Opcional.Seutilizaparainsertarcaracteresdeespacioenla

salida,dondeneselnúmerodeespaciosquesevanainsertar.

Tab(n) Opcional.Seutilizaparasituarelpuntodeinserciónenunnúmerodecolumnaabsoluto,dondeneselnúmerodecolumna.UtiliceTabsinargumentosparasituarelpuntodeinserciónalprincipiodelasiguientezonadeimpresión.

expresión Opcional.Expresiónnuméricaoexpresióndecadenaquesevaaimprimir.

posicióncarácter Opcional.Especificaelpuntodeinsercióndelcaráctersiguiente.Utiliceunpuntoycoma(;)parasituarelpuntodeinsercióninmediatamenteacontinuacióndelúltimocaráctermostrado.UtiliceTab(n)parasituarelpuntodeinserciónenunnúmerodecolumnaabsoluto,oTabsinargumentosparasituarloalprincipiodelasiguientezonadeimpresión.Siseomiteposicióncarácter,elcaráctersiguienteseimprimiráenlalíneasiguiente.

Comentarios

Lasexpresionesmúltiplespuedensepararseconunespaciooconunpuntoycoma.

TodoslosdatosimpresosenelpanelInmediatotienenelformatoadecuadosegúnelseparadordecimalcorrespondientealaconfiguraciónregionalestablecidaensusistema.Laspalabrasclavesemuestranenelidiomacorrespondientealaaplicaciónhost.

ParalosdatosdetipoBooleanseimprimeVerdaderooFalso.LaspalabrasclaveTrueyFalsesetraducencomocorrespondaalaconfiguraciónregionalespecificadaenlaaplicaciónhost.

LosdatosdetipoDateseescribenconelformatodefechacortaestándarquereconoceelsistema.Cuandoelcomponentedefechaodehorafaltaosescero,sóloseescribiráeldatoqueseproporcione.

NoseescribiránadasilosdatosdelistasalidasonEmpty.Sinembargo,silistasalidaesNull,enlasalidaseindicaráNulo.Denuevo,lapalabraclaveNullsetraduceenlasalidacomocorresponda.

Paralosdatosdeerror,lasalidaesErrorcódigoError.LapalabraclaveErrorsetraduceenlasalidacomocorresponda.

Esnecesarioobjetosielmétodoseusafueradeunmóduloquetengaunespaciodepresentaciónpredeterminado.Porejemplo,sucedeunerrorsisellamaalmétododesdeunmóduloestándarsinespecificarunobjeto,perosisellamadesdeunmódulodeformulario,listasalidasemuestraenelformulario.

NotaPuestoqueelmétodoPrintimprimenormalmenteconcaracteresdeespacioproporcional,esimportanterecordarquenohayrelaciónalgunaentreelnúmerodecaracteresimpresosyelnúmerodecolumnasdeanchofijoqueocupantalescaracteres.Porejemplo,unaletraancha,como"W",ocupamásdeunacolumnadeanchofijo,mientrasqueunaletraestrecha,como"I",ocupamenos.Paratenerencuentaloscasosenlosqueseutilizancaracteresconunanchomayorquelamedia,deberáasegurarsedequelascolumnasdelastablasseencuentrenlobastantelejosunasdeotras.Comoalternativa,puedeutilizarenlaimpresiónunafuentedeanchofijo(comoCourier)parahacerquecadacarácterutilicesólounacolumna.

Raise(Método)

Generaunerrorentiempodeejecución.

Sintaxis

objeto.Raisenumber,source,description,helpfile,helpcontext

ElmétodoRaisetieneelcalificadordeobjetoylosargumentosconnombresiguientes:

Argumento Descripciónobjeto Requerido.SiempreelobjetoErr.number Requerido.EnterodetipoLongqueidentificala

naturalezadelerror.LoserroresdeVisualBasic(tantolosdefinidosporVisualBasiccomolosdefinidosporelusuario)seencuentranentre0y65535.Elintervalode0a512estáreservadoparaerroresdelsistema;elintervalo513a65535estádisponibleparaerroresdefinidosporelusuario.AlestablecerenlapropiedadNumbersupropiocódigodeerrorenunmódulodeclase,agregasucódigodeerroralaconstantevbObjectError.Porejemplo,paragenerarelnúmerodeerror513,asignevbObjectError+513alapropiedadNumber.

source Opcional.Expresióndecadenaqueindicaelobjetoola

aplicaciónquegeneróelerror.Alestablecerestapropiedadparaunobjeto,useelformatoproyecto.clase.Sinoespecificanada,seutilizaráelidentificadorprogramáticodelproyectodeVisualBasicactual.

description Opcional.Expresióndecadenaquedescribeelerror.Sinoseespecifica,seexaminaelvalordeNumber.SisecorrespondeconuncódigodeerrorentiempodeejecucióndeVisualBasic,seutilizaparaDescriptionlacadenaquedevolveríalafunciónError.SinohaycorrespondenciaconningúnerrordeVisualBasic,enNumberseutiliza"Errordefinidoporlaaplicaciónoelobjeto".

helpfile Opcional.RutareconocidadelarchivodeAyudaenelqueseencuentralainformaciónsobreelerror.Sinoseespecifica,VisualBasicutilizarálaunidad,rutaynombrereconocidosdelarchivodeAyudadeVisualBasic.

helpcontext Opcional.IdentificadordecontextoqueespecificaeltemadelarchivoindicadoenHelpFilequecontienelainformacióndeayudadelerror.Siseomite,seutilizaráelidentificadordecontextodelarchivodeAyudadeVisualBasiccorrespondientealvalordelapropiedadNumber,sitalidentificadorexiste.

Comentarios

Todoslosargumentossonopcionales,exceptonumber.Sinembargo,siutilizaRaisesinespecificaralgunosargumentos,ylosvaloresdelaspropiedadesdelobjetoErrnosehanborrado,dichosvaloresseconservaránparaelerroractual.

RaiseseutilizaparagenerarerroresentiempodeejecuciónypuedeusarseenlugardelainstrucciónError.Raiseesútilparagenerarerroresalescribirmódulosdeclase,yaqueelobjetoErrproporcionamásinformacióndelaqueofrecenloserroresgeneradosconlainstrucciónError.Porejemplo,conelmétodoRaisepuedeespecificarseelorigendelerrorenlapropiedadSource,puedeinvocarAyudaenpantallasobreelerror,etc.

Read(Método)

Descripción

LeeunnúmeroespecificadodecaracteresdesdeunarchivoTextStreamydevuelvelacadenaresultante.

Sintaxis

objeto.Read(caracteres)

LasintaxisdelmétodoReadconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoTextStream.caracteres Requerido.Elnúmerodecaracteresquedesealeerdesdeel

archivo.

ReadAll(Método)

Descripción

LeeunarchivoTextStreamcompletoydevuelvelacadenaresultante.

Sintaxis

objeto.ReadAll

ElobjetosiempreeselnombredeunobjetoTextStream.

Comentarios

Paraarchivosgrandes,alutilizarelmétodoReadAllsedesperdicianrecursosdememoria.Debenutilizarseotrastécnicasparaleerunarchivo,comoleerlolíneaporlínea.

ReadLine(Método)

Descripción

Leeunalíneacompleta(hastaelcarácterdenuevalíneaperosinincluirlo)desdeunarchivoTextStreamydevuelvelacadenaresultante.

Sintaxis

objeto.ReadLine

ElargumentoobjetoessiempreelnombredeunobjetoTextStream.

Remove(Método)

QuitaunmiembrodeunobjetoCollection.

Sintaxis

objeto.Removeíndice

LasintaxisdelmétodoRemovecuentaconelcalificadordeobjetoylosargumentossiguientes:

Parte Descripciónobjeto Requerido.Unaexpresióndeobjetoquedacomoresultadounobjeto

incluidoenlalistaSeaplicaa.índice Requerido.Unaexpresiónqueespecificalaposicióndeunmiembrode

lacolección.Sisetratadeunaexpresiónnumérica,índicedebeestarcomprendidoentre1yelvalordelapropiedadCountdelacolección.Siesunaexpresióndecadena,índicedebecorresponderalvalordelargumentokeyespecificadoalagregaralacolecciónelmiembroalquesehacereferencia.

Comentarios

Sielvalorindicadocomoíndicenocoincideconningúnmiembroexistenteenlacolección,seproduceunerror.

Remove(Método)

Descripción

Quitaunparelemento,clavedesdeunobjetoDictionary.

Sintaxis

objeto.Remove(clave)

LasintaxisdelmétodoRemoveconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDictionary.clave Requerido.Laclaveasociadaconelelementodelparquedesea

quitardelobjetoDictionary.

Comentarios

Seproduceunerrorsielparelemento,claveespecificadonoexiste.

ElcódigosiguientedemuestralautilizacióndelmétodoRemove:

Dima,d,i'Crearalgunasvariables

Setd=CreateObject("Scripting.Dictionary")

d.Add"a","Atenas"'Agregaralgunasclavesyelementos

d.Add"b","Belgrado"

d.Add"c","Cairo"

...

a=d.Remove()'Quitarelsegundopar

RemoveAll(Método)

Descripción

ElmétodoRemoveAllquitatodoslospareselemento,clavedeunobjetoDictionary.

Sintaxis

objeto.RemoveAll

ElobjetosiempreeselnombredeunobjetoDictionary.

Comentarios

ElcódigosiguientedemuestralautilizacióndelmétodoRemoveAll:

Dima,d,i'Crearalgunasvariables

Setd=CreateObject("Scripting.Dictionary")

d.Add"a","Atenas"'Agregaralgunasclavesyelementos

d.Add"b","Belgrado"

d.Add"c","Cairo"

...

a=d.RemoveAll'Borrareldiccionario

Skip(Método)

Descripción

SaltaunnúmeroespecificadodecaracterescuandoseleeunarchivoTextStream.

Sintaxis

objeto.Skip(caracteres)

LasintaxisdelmétodoSkipconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoTextStream.caracteres Requerido.Elnúmerodecaracteresquesevaasaltarcuandose

leaunarchivo.

Comentarios

Loscaracteressaltadossedescartan.

SkipLine(Método)

Descripción

SaltalapróximalíneacuandoseleeunarchivoTextStream.

Sintaxis

objeto.SkipLine

ElobjetosiempreeselnombredeunobjetoTextStream.

Comentarios

Saltarunalíneasignificaleerydescartartodosloscaracteresenunalíneahastaelpróximocarácternuevalínea,ésteincluido.

Seproduceunerrorsielarchivonoseabreparalectura.

Write(Método)

Descripción

EscribeunacadenaespecificadaaunarchivoTextStream.

Sintaxis

objeto.Write(cadena)

LasintaxisdelmétodoWriteconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunobjeto

TextStream.cadena Requerido.Eltextoquedeseaescribiralarchivo.

Comentarios

Lascadenasespecificadasseescribenalarchivosinespaciosintermediosocaracteresentrecadacadena.UtiliceelmétodoWriteLineparaescribirunacaracternewlineounacadenaquefinaliceconuncaracternewline.

WriteBlankLines(Método)

Descripción

EscribeunnúmeroespecificadodecaracteresnuevalíneaaunarchivoTextStream.

Sintaxis

objeto.WriteBlankLines(líneas)

LasintaxisdelmétodoWriteBlankLinesconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoTextStream.líneas Requerido.Elnúmerodecaracteresnuevalíneaquedeseaescribiral

archivo.

WriteLine(Método)

Descripción

EscribeuncaracternuevalíneayunacadenaespecificadaaunarchivoTextStream.

Sintaxis

objeto.WriteLine([cadena])

LasintaxisdelmétodoWriteLineconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoTextStream.cadena Opcional.Eltextoquedeseaescribiralarchivo.Siseomite,se

escribeuncaracternuevalíneaalarchivo.

Collection(Objeto)

UnobjetoCollectionesunconjuntoordenadodeelementosalosquesepuedehacerreferenciacomounaunidad.

Comentarios

ElobjetoCollectionpermitehacerreferenciadeformasencillaaungrupodeelementosrelacionadoscomounúnicoobjeto.Loselementosomiembrosdeunacolecciónsólotienenqueestarrelacionadosporelhechodeexistirenlacolección.Losmiembrosdeunacolecciónnotienenquecompartirelmismotipodedato.

LosobjetosCollectionsepuedencreardelamismaformaqueelrestodelosobjetos.Porejemplo:

DimXAsNewCollection

UnavezcreadounobjetoCollection,selepuedenagregarmiembrosconelmétodoAddyquitárselosconelmétodoRemove.PuedenobtenersemiembrosespecíficosdelobjetoCollectionconelmétodoItem,yhacerunaiteraciónsobrelacoleccióncompletaconlainstrucciónForEach...Next.

Debug(Objeto)

ElobjetoDebugenvíalasalidaalaventanaDepuraciónentiempodeejecución.

Dictionary(Objeto)

Descripción

Objetoquealmacenaparesdatoselemento,clave.

Sintaxis

Scripting.Dictionary

Comentarios

UnobjetoDictionaryeselequivalentedeunamatrizasociativaPERL.Loselementos,quepuedensercualquierformadedatos,sealmacenanenlamatriz.Cadaelementoseasociaconunaclaveúnica.Laclaveseutilizapararecuperarunelementoindividualyesnormalmenteunenteroounacadena,peropuedesercualquiercosaexceptounamatriz.

ElcódigosiguientedemuestracómocrearunobjetoDictionary:

Dimd'Crearunavariable

Setd=CreateObject(Scripting.Dictionary)

d.Add"a","Atenas"'Agregaralgunasclavesyelementos

d.Add"b","Belgrado"

d.Add"c","Cairo"

...

Drive(Objeto)

Descripción

Proporcionaaccesoalaspropiedadesdeunrecursocompartidoderedounaunidaddediscoparticular.

Comentarios

ElcódigosiguientedemuestralautilizacióndelobjetoDriveparaelaccesoalaspropiedadesdelaunidad:

SubShowFreeSpace(drvPath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(drvPath)

s="Drive"&UCase(drvPath)&"-"

s=s&d.VolumeName&vbCrLf

s=s&"FreeSpace:"&FormatNumber(d.FreeSpace/1024,0)

s=s&"Kbytes"

MsgBoxs

EndSub

Drives(Colección)

Descripción

Coleccióndesólolecturadetodaslasunidadesdisponibles.

Comentarios

NohacefaltaquelasunidadesdemediosseparablestenganmediosintroducidosparaqueaparezcanenlacolecciónDrives.

ElcódigosiguientedemuestracómoconseguirlacolecciónDrivesyrecorrerlacolecciónutilizandolainstrucciónForEach...Next:

SubShowDriveList

Dimfs,d,dc,s,n

Setfs=CreateObject("Scripting.FileSystemObject")

Setdc=fs.Drives

ForEachdindc

s=s&d.DriveLetter&"-"

Ifd.DriveType=RemoteThen

n=d.ShareName

Else

n=d.VolumeName

EndIf

s=s&n&vbCrLf

Next

MsgBoxs

EndSub

Err(Objeto)

Contieneinformaciónsobreerroresentiempodeejecución.

Comentarios

LaspropiedadesdelobjetoErrlasestablecequiengeneraelerror:VisualBasic,unobjetooelprogramadorenVisualBasic.

LapropiedadpredeterminadadelobjetoErresNumber.ComolapropiedadpredeterminadapuederepresentarseconelnombredeobjetoErr,noesnecesariomodificarelcódigoanteriorescritousandolafunciónErrolainstrucciónErr.

Cuandoseproduceunerrorentiempodeejecución,laspropiedadesdelobjetoErrsellenanconinformaciónqueidentificaalerrordeformaúnicayquepuedeutilizarseparaprocesarlo.Paragenerarunerrorentiempodeejecuciónenelcódigo,utiliceelmétodoRaise.

LaspropiedadesdelobjetoErrserestablecenacerooacadenasdelongitudcero("")trascualquierformadelasinstruccionesResumeuOnError,asícomodespuésdelasinstruccionesExitSub,ExitFunctionoExitPropertydeunarutinadetratamientodeerrores.TambiénpuedeutilizarseelmétodoClearpararestablecerexplícitamenteErr.

UtiliceelmétodoRaise,enlugardelainstrucciónError,paragenerarerroresentiempodeejecuciónenmódulosdeclase.LadecisióndeutilizaronoelmétodoRaiseenotrocódigodependerádelacantidaddeinformaciónquesedeseeproporcionar.

Erresunobjetointrínsecoconalcanceglobal.Noesnecesariocrearunainstanciadelmismoenelcódigo.

File(Objeto)

Descripción

Proporcionaaccesoatodaslaspropiedadesdeunarchivo.

Comentarios

ElcódigosiguientedemuestracómoobtenerunobjetoFileyverunadesuspropiedades.

SubShowFileInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=f.DateCreated

MsgBoxs

EndSub

Files(Colección)

Descripción

ColeccióndetodoslosobjetosFiledentrodeunacarpeta.

Comentarios

ElcódigosiguientedemuestracómoconseguirunacolecciónFilesyrecorrerlacolecciónutilizandolainstrucciónForEach...Next:

SubShowFolderList(folderspec)

Dimfs,f,f1,fc,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(folderspec)

Setfc=f.Files

ForEachf1infc

s=s&f1.name

s=s&vbCrLf

Next

MsgBoxs

EndSub

FileSystemObject(Objeto)

Descripción

Proporcionaaccesoalsistemadearchivosdeunequipo.

Sintaxis

Scripting.FileSystemObject

Comentarios

ElcódigosiguientedemuestracómoseutilizaelobjetoFileSystemObjectparadevolverunobjetoTextStreamquesepuedeleeroenelquesepuedeescribir:

Setfs=CreateObject("Scripting.FileSystemObject

Seta=fs.CreateTextFile("c:\archivoprueba.txt",True)

a.WriteLine("Estoesunaprueba.")

a.Close

Enelcódigoquesemuestraarriba,lafunciónCreateObjectdevuelveelobjetoFileSystemObject(fs).ElmétodoCreateTextFilecreaentonceselarchivocomounobjetoTextStream(a)yelmétodoWriteLineescribeunalíneadetextoalarchivodetextocreado.ElmétodoClosevacíaelbúferycierraelarchivo.

Folder(Objeto)

Descripción

Proporcionaaccesoatodaslaspropiedadesdeunacarpeta.

Comentarios

ElcódigosiguientedemuestracómoobtenerunobjetoFolderycómodevolverunadesuspropiedades:

SubShowFolderInfo(folderspec)

Dimfs,f,s,

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(folderspec)

s=f.DateCreated

MsgBoxs

EndSub

Folders(Colección)

Descripción

ColeccióndetodoslosobjetosFoldercontenidosdentrodeunobjetoFolder.

Comentarios

ElcódigosiguientedemuestracómoconseguirunacolecciónFoldersycómorecorrerlacolecciónutilizandolainstrucciónForEach...Next:

SubShowFolderList(folderspec)

Dimfs,f,f1,fc,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(folderspec)

Setfc=f.SubFolders

ForEachf1infc

s=s&f1.name

s=s&vbCrLf

Next

MsgBoxs

EndSub

TextStream(Objeto)

Descripción

Facilitaelaccesosecuencialalarchivo.

Sintaxis

TextStream.{propiedad|método}

LosargumentospropiedadymétodopuedensercualquieradelaspropiedadesymétodosasociadosalobjetoTextStream.TengaencuentaqueTextStreamsereemplazaporunmarcadordeposiciónvariablequerepresentaelobjetoTextStreamdevueltoporFileSystemObject.

Comentarios

Enelcódigosiguiente,aeselobjetoTextStreamdevueltoporelmétodo

CreateTextFileenelobjetoFileSystemObject:

Setfs=CreateObject("Scripting.FileSystemObject")

Seta=fs.CreateTextFile("c:\archivoprueba.txt",True)

a.WriteLine("Estoesunaprueba.")

a.Close

WriteLineyClosesondosmétodosdelobjetoTextStream.

&(Operador)

Seutilizaparaforzarlaconcatenacióndelascadenasdedosexpresiones.

Sintaxis

resultado=expresión1&expresión2

Lasintaxisdeloperador&constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariabletipoStringo

Variant.expresión1 Requerido;cualquierexpresión.expresión2 Requerido;cualquierexpresión.

Comentarios

Siunaexpresiónnoesunacadenadecaracteres,seconvierteenuntipoStringtipovariant.EltipodedatodelresultadoesStringsiambasexpresionessonexpresionesdecadena;delocontrario,elresultadoesunaStringtipovariant.SiambasexpresionessonNull,elresultadoestambiénNull.Sinembargo,sisólounaexpresiónesNull,esaexpresiónseconsideracomounacadenadelongitudcero("")alconcatenarseconlaotraexpresión.CualquierexpresiónEmptyseconsideratambiénunacadenadelongitudcero.

*(Operador)

Seutilizaparamultiplicardosnúmeros.

Sintaxis

resultado=número1*número2

Lasintaxisdeloperador*constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.

número1 Requerido;cualquierexpresiónnumérica.número2 Requerido;cualquierexpresiónnumérica.

Comentarios

Eltipodedatodelresultadoesgeneralmenteeldelaexpresiónmásexacta.Elordendeprecisión,demenosexactoamásexacto,esByte,Integer,Long,Single,Double,CurrencyyDecimal.Estareglatienelassiguientesexcepciones:

Si ElresultLamultiplicaciónimplicauntipoSingleyuntipoLong,

seconvierteauntipoDouble.

EltipodedatoderesultadoesuntipovariantLong,SingleoDatequesesaledelintervaloválido,

seconvierteaunVariantquecontieneuntipoDouble.

EltipodedatoderesultadoesunBytetipovariantquesesaledelintervaloválido,

seconvierteaunIntegertipovariant.

EltipodedatoderesultadoesunIntegertipovariantquesesaledelintervaloválido,

seconvierteaunLongtipovariant.

SiunaoambasdelasexpresionessondetipoNull,eltipodedatosdelresultadoesNull.SiunaexpresiónesdeltipoEmpty,seconsideracomo0.

NotaElordendeprecisiónutilizadoporlasumaylarestanoesigualqueelordendeprecisiónutilizadoporlamultiplicación.

+(Operador)

Seutilizaparasumardosnúmeros.

Sintaxis

resultado=expresión1+expresión2

Lasintaxisdeloperador+constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.Expresión1 Requerido;cualquierexpresión.expresión2 Requerido;cualquierexpresión.

Comentarios

Cuandoutiliceeloperador+,quizánopuedadeterminarsisevaarealizarunasumaounaconcatenacióndecadenas.Utiliceeloperador&paralaconcatenación,demodoqueseevitenambigüedadesysesuministrenprogramasclarosyexplícitos.

SihayalmenosunaexpresiónquenoseadetipoVariant,seaplicanlassiguientesreglas:

Si EntoncesAmbasexpresionessontiposdedatosnuméricos(Byte,Boolean,Integer,Long,Single,Double,Date,CurrencyoDecimal)

Suma.

AmbasexpresionessondeltipoString Concatenación.Unaexpresiónesdeuntipodedatos Suma.

numéricoylaotracualquiertipoVariantexceptoNullUnaexpresiónesdeltipoStringylaotracualquiertipoVariantexceptoNull

Concatenación.

UnaexpresiónesdeltipoEmptyVariant Devuelvesinmodificacioneslaexpresiónrestantecomoresultado.

UnaexpresiónesdeuntipodedatosnuméricoylaotradetipoString

PuedeocurrirunErrordetipos.

CualquieradelasexpresionesesNull resultadoesNull.

SiambasexpresionessondeltipoVariant,seaplicanlassiguientereglas:

Si EntoncesAmbasexpresionestipoVariantsonnuméricas

Suma.

AmbasexpresionestipoVariantsoncadenasdecaracteres

Concatenación.

UnaexpresióntipoVariantesnuméricaylaotraesunacadenadecaracteres

Suma.

Enadicionesaritméticassimplesdeexpresionesdetiposdedatosnuméricosúnicamente,eltipodedatoderesultadoeshabitualmenteelmismoqueeldelaexpresiónconmayorprecisión.Elordendeprecisión,demenosexactoamásexacto,esByte,Integer,Long,Single,Double,CurrencyyDecimal.Estareglatienelassiguientesexcepciones:

Si ElresultadoesSesumanuntipoSingleyuntipoLong,

untipoDouble.

EltipodedatoderesultadoesLong,SingleoDatetipovariantquedesbordasuintervaloválido,

seconvierteaunDoubletipovariant.

EltipodedatoderesultadoesunByte seconvierteaunIntegertipovariant.

tipovariantquesesaledelintervaloválido,EltipodedatoderesultadoesunIntegertipovariantquesesaledelintervaloválido,

seconvierteaunLongtipovariant.

UnDateseagregaacualquiertipodedato,

untipoDate.

SiunadelasexpresionesoambassonexpresionesdetipoNull,resultadoesNull.SiambasexpresionessonEmpty,elresultadoesInteger.Sinembargo,sólounadelasexpresionesesEmpty,sedevuelvelaotrasinmodificacionescomoresultado.

NotaElordendeprecisiónutilizadoporlasumaylarestanoesigualqueelordendeprecisiónutilizadoporlamultiplicación.

-(Operador)

Seutilizaparahallarladiferenciaentredosnúmerosoparaindicarelvalornegativodeunaexpresiónnumérica.

Sintaxis1

resultado=número1-número2

Sintaxis2

–número

Lasintaxisdeloperador–constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.número Requerido;cualquierexpresiónnumérica.número1 Requerido;cualquierexpresiónnumérica.número2 Requerido;cualquierexpresiónnumérica.

Comentarios

Enlasintaxis1,–eseloperadordesubstracciónaritméticautilizadoparahallarladiferenciaentredosnúmeros.Enlasintaxis2,–seutilizacomoeloperadordenegaciónunariaparaindicarelvalornegativodeunaexpresión.

Eltipodedatoderesultadoesgeneralmenteeldelaexpresiónmásexacta.Elordendeprecisión,demenosexactoamásexacto,esByte,Integer,Long,Single,Double,CurrencyyDecimal.Esteordentienelassiguientesexcepciones:

Si ElresultEsunasubstraccióndeuntipoSingleyuntipoLong,

seconvierteatipoDouble.

EltipodedatoderesultadoesuntipovariantLong,SingleoDatequesesaledelintervaloválido,

seconvierteaunVariantquecontieneuntipoDouble.

EltipodedatoderesultadoesunBytetipovariantquesesaledelintervaloválido,

seconvierteaunIntegertipovariant.

Eltipodedatoderesultadoesun seconvierteaunLongtipovariant.

Integertipovariantquesesaledelintervaloválido,LasubstracciónimplicaauntipoDateycualquierotrotipodedato,

esuntipoDate.

LasubstracciónimplicadosexpresionestipoDate,

esuntipoDouble.

SiunaoambasdelasexpresionessondetipoNull,eltipodedatosdelresultadoesNull.SiunaexpresiónesdeltipoEmpty,seconsideracomosifuera0.

NotaElordendeprecisiónutilizadoporlasumaylarestanoesigualqueelordendeprecisiónutilizadoporlamultiplicación.

/(Operador)

Seutilizaparadividirdosnúmerosyobtenerunresultadodesignoflotante.

Sintaxis

resultado=número1/número2

Lasintaxisdeloperador/constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.número1 Requerido;cualquierexpresiónnumérica.número2 Requerido;cualquierexpresiónnumérica.

Comentarios

EltipodedatoderesultadoesnormalmenteunDoubletipovariantountipo

Double.Estareglatienelassiguientesexcepciones:

Si ElresultadoesAmbasexpresionessonexpresionesdetipoByte,IntegeroSingle,

untipoSingleamenosquesalgadesuintervaloválido,encuyocasoseproduceunerror.

AmbasexpresionessonByte,IntegeroSingletipovariant,

untipoSingleamenosquesalgadesuintervaloválido;enestecasoresultadoesuntipoVariantquecontieneuntipoDouble.

LadivisióncontieneuntipoDecimalycualquierotrotipodedato,

untipoDecimal.

SiunaoambasdelasexpresionessondetipoNull,eltipodedatosdelresultadoesNull.SiunaexpresiónesdeltipoEmpty,seconsidera0

\(Operador)

Seutilizaparadividirdosnúmerosyobtenerunresultadoentero.

Sintaxis

resultado=número1\número2

Lasintaxisdeloperador\constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.número1 Requerido;cualquierexpresiónnumérica.número2 Requerido;cualquierexpresiónnumérica.

Comentarios

AntesdeefectuarladivisiónseredondeanlasexpresionesnuméricasparaconvertirlasenexpresionestipoByte,IntegeroLong.

Normalmente,eltipodedatodelresultadoestipoByte,Bytetipovariant,tipoIntegeroIntegertipovariant,tipoLongoLongtipovariant,independientementedesielresultadoesunnúmeroenteroono.Lapartefraccionariasetrunca.Sinembargo,sicualquieradelasexpresionesesNull,resultadoesNull.TodaexpresiónqueseaEmptyseconsideracomo0.

^(Operador)

Seutilizaparaelevarunnúmeroalapotenciadelexponente.

Sintaxis

resultado=número^exponente

Lasintaxisdeloperador^constadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.número Requerido;cualquierexpresiónnumérica.exponente Requerido;cualquierexpresiónnumérica.

Comentarios

Unnúmeropuedesernegativosólosiexponenteesunentero.Cuandoseefectúamásdeunaexponenciaciónenunaúnicaexpresión,eloperador^seresuelveenelordenenqueesté,deizquierdaaderecha.

Generalmente,eltipodedatodelresultadoesunDoubleounVariantquecontieneunDouble.Sinembargo,sinúmerooexponenteesunaexpresiónNullresultadoestambiénNull.

=(Operador)

Descripción

Utilizadoparaasignarunvaloraunavariableopropiedad.

Sintaxis

variable=valor

Lasintaxisdeloperador=constadelassiguientespartes:

Parte Descripciónvariable Cualquiervariableocualquierpropiedadquesepuede

escribir.valor Cualquierliteraldecadenaonumérico,constanteoexpresión.

Comentarios

Elnombredelladoizquierdodelsignoigualpuedeserunavariablesimpleounelementodeunamatriz.Laspropiedadesdelladoizquierdodelsignoigualsólopuedenserpropiedadesquesepuedenescribirentiempodeejecución.

And(Operador)

Seutilizaparaefectuarunaconjunciónlógicadedosexpresiones.

Sintaxis

resultado=expresión1Andexpresión2

LasintaxisdeloperadorAndconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.expresión1Requerido;cualquierexpresión.expresión2Requerido;cualquierexpresión.

Comentarios

SiysólosiambasexpresionesseevalúancomoTrue,elresultadoesTrue.SicualquieradelasexpresionesesFalse,elresultadoesFalse.Lasiguientetablailustracómosedeterminaelresultado:

Siexpresión1es Yexpresión2es ElresultadoesTrue True TrueTrue False FalseTrue Null NullFalse True FalseFalse False FalseFalse Null FalseNull True NullNull False FalseNull Null Null

EloperadorAndejecutatambiénunacomparaciónbitabitparaidentificarlosbitsdedosexpresionesnuméricasquetienenlamismaposiciónyestableceelbitcorrespondienteenelresultadosegúnlasiguientetabladedecisiónlógica:

Sielbitenexpresión1es

Yelbitenexpresión2es Elresultadoes

0 0 00 1 0

1 0 01 1 1

Eqv(Operador)

Seutilizaparaefectuarunaequivalencialógicadedosexpresiones.

Sintaxis

resultado=expresión1Eqvexpresión2

LasintaxisdeloperadorEqvconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.Expresión1 Requerido;cualquierexpresión.Expresión2 Requerido;cualquierexpresión.

Comentarios

SicualquieradelasexpresionesesdetipoNull,elresultadoestambiénNull.SiningunadelasexpresionesesNull,elresultadosedeterminasegúnlasiguientetabla:

Siexpresión1es Yexpresión2es ElresultadoesTrue True TrueTrue False FalseFalse True FalseFalse False True

EloperadorEqvejecutaunacomparaciónbitabitparaidentificarlosbitsdedosexpresionesnuméricasquetienenlamismaposiciónyestableceelbitcorrespondienteenelresultadosegúnlasiguientetabladedecisiónlógica:

Sibitenexpresión1es

Ybitenexpresión2es Elresultadoes

0 0 10 1 01 0 01 1 1

Imp(Operador)

Seutilizaparaefectuarunaimplicaciónlógicadedosexpresiones.

Sintaxis

resultado=expresión1Impexpresión2

LasintaxisdeloperadorImpconstadelassiguientespartes:

Parte DescripciónResultado Requerido;cualquiervariablenumérica.Expresión1 Requerido;cualquierexpresión.Expresión2 Requerido;cualquierexpresión.

Comentarios

Lasiguientetablailustracómosedeterminaelresultado:

Siexpresión1es Yexpresión2es ElresultadoesTrue True TrueTrue False FalseTrue Null NullFalse True TrueFalse False TrueFalse Null TrueNull True TrueNull False NullNull Null Null

EloperadorImpejecutaunacomparaciónbitabitparaidentificarlosbitsdedosexpresionesnuméricasquetienenlamismaposiciónyestableceelbitcorrespondienteenelresultadosegúnlasiguientetabladedecisiónlógica:

Sibitenexpresión1es Sibitenexpresión2es Elresultadoes0 0 10 1 11 0 01 1 1

Is(Operador)

Seutilizaparacomparardosvariablesdereferenciadeobjeto.

Sintaxis

resultado=objeto1Isobjeto2

LasintaxisdeloperadorIsconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.objeto1 Requerido;cualquiernombredeobjeto.objeto2 Requerido;cualquiernombredeobjeto.

Comentarios

Sitantoobjeto1comoobjeto2serefierenalmismoobjeto,elresultadoesTrue;sino,elresultadoesFalse.Hayvariasmanerasdehacerquedosvariablesserefieranalmismoobjeto.

Enelsiguienteejemplo,sehadefinidoAdemodoqueserefieraalmismoobjetoqueB:

SetA=B

EnelsiguienteejemplosehacequeAyBserefieranalmismoobjetoqueC:

SetA=C

SetB=C

Like(Operador)

Seutilizaparacomparardoscadenasdecaracteres.

Sintaxis

resultado=cadenaLikepatrón

LasintaxisdeloperadorLikeconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.cadena Requerido;cualquierexpresióndecadena.patrón Requerido;cualquierexpresióndecadenaquesatisfacelas

convencionesdecoincidenciadepatronesdescritasenComentarios.

Comentarios

Sicadenacoincideconpatrón,elresultadoesTrue;sinocoincide,elresultadoesFalse.SicadenaopatrónesNull,elresultadoestambiénNull.

ElcomportamientodeloperadorLikedependedelainstrucciónOptionCompare.ElmétodopredeterminadodecomparacióndecadenasparacadamóduloesOptionCompareBinary.

OptionCompareBinarydacomoresultadocomparacionesdecadenasbasadasenelordenderivadodelasrepresentacionesbinariasinternasdeloscaracteres.EnMicrosoftWindows,elordendependedelapáginadecódigo.Enelsiguienteejemploseilustraunordenbinariatípico:

A<B<E<Z<a<b<e<z<À<Ê<Ø<à<ê<ø

OptionCompareTextdacomoresultadocomparacionesdecadenasbasadasenelordendeterminadoporlaconfiguraciónregionaldesusistema.Losmismoscaracteresdelejemploanterior,ordenadosconlaopciónOptionCompareText,aparecenenelsiguienteorden:

(A=a)<(À=à)<(B=b)<(E=e)<(Ê=ê)<(Z=z)<(Ø=ø)

Lafunciónintegradadebúsquedadecoincidenciadepatronesofreceunaherramientaversátilparaefectuarcomparacionesdecadenas.Lascaracterísticasdeestafunciónpermitenelempleodecaracterescomodín,listasdecaracteresointervalosdecaracteresencualquiercombinaciónparahallarcoincidenciasencadenas.Enlasiguientetablaseindicanloscaracteresquesepuedenponerenpatrónyconquécoincidenlosmismos:

Caracteresenpattern Coincidenciasenstring? Uncaráctercualquiera.* Ceroomáscaracteres.# Undígitocualquiera(0–9).[listacaracteres] Uncaráctercualquieradelistacaracteres.[!listacaracteres] Uncaráctercualquieranoincluidoenlistacaracteres.

Sepuedeutilizarungrupodeunoomáscaracteres(listacaracteres)entrecorchetes([])paraestablecerunacoincidenciaconuncaráctercualquieradecadena;elgrupopuedeincluircasicualquiercódigodecarácter,incluyendodígitos.

NotaLoscaracteresespecialescorchetedeapertura([),interrogación(?),signodenúmero(#)yasterisco(*)sepuedenutilizarparaestablecerunacoincidencia

consímismossólosivanentrecorchetes.Elcorchetedecierre(])nosepuedeutilizarenungrupoparaestablecerunacoincidenciaconsímismo,perosísepuedeutilizarfueradeungrupo,comocarácterindependiente.

Puedeespecificarunintervalodecaracteresenlistacaracterescolocandounguión(–)parasepararloslímitesinferiorysuperiordelintervalo.Porejemplo,lasecuencia[A–Z]enpatrónpermitehallarunacoincidenciasienlaposicióncorrespondientedecadenahayuncarácterenmayúsculascualquiera,comprendidoenelintervalodelaAalaZ.Sepuedenincluirmúltiplesintervalosentrecorchetes,sinnecesidaddedelimitadores.

Elsignificadodelintervaloespecificadodependedelaordenacióndecaracteresválidaentiempodeejecución(determinadoporOptionCompareylaconfiguraciónregionaldelsistemadóndeestáejecutándoseelcódigo).SiseutilizaelejemploconOptionCompareBinary,enelintervalo[A–E]coincidenA,ByE.ConOptionCompareText,en[A–E]coincidenA,a,À,à,B,b,E,e.Êyênoseincluyenentrelascoincidenciasporqueloscaracteresacentuadosseencuentrandespuésdelosnoacentuadosenelorden.

Otrasreglasimportantesparaefectuarcoincidenciasdepatronessonlassiguientes:

Unaexclamación(!)alcomienzodelistacaracteressignificaquehaycoincidencias,dentrodelacadenaparacualquiercarácterexceptolosincluidosenlistacaracteres.Sinoseencierraentrecorchetes,laexclamacióncoincideconsigomisma.

Elguión(–)puedeaparecertantoalcomienzo(despuésdelaexclamación,siseemplea)oalfinaldelistacaracteresparacoincidirconsigomismo.Encualquierotrolugar,elguiónsólosepuedeutilizarparaidentificarunintervalodecaracteres.

Cuandoseespecificaunintervalodecaracteres,éstosdebenaparecerenordenascendente(demenoramayor).[A-Z]esunpatrónválido,pero[Z-A]noloes.

Lasecuenciadecaracteres[]seconsideraunacadenadecaracteresdelongitudcero("").

Elalfabetodealgunosidiomasincluyecaracteresespecialesqueenrealidadrepresentandoscaracteresdistintos.Porejemplo,variosidiomasempleanelcarácter"æ"pararepresentarloscaracteres"a"y"e"cuandoaparecenjuntos.EloperadorLikereconocequeelcarácterespecialúnicoylosdoscaracteresindividualessonequivalentes.

Cuandoseespecificaenlaconfiguraciónregionaldelsistemaunidiomaqueutilizaunodeestoscaracteresespeciales,alocurrirelcarácterespecialenpatrónocadena,coincideconlasecuenciaequivalentede2caracteresenlaotracadena.Igualmente,unúnicocarácterespecialenpatrónincluidoentrecorchetes(ensolitario,enunalistaoenunintervalo)coincideconlasecuenciade2caracteresequivalenteencadena.

Mod(Operador)

Dividedosnúmerosydevuelvesóloelresto.

Sintaxis

resultado=número1Modnúmero2

LasintaxisdeloperadorModconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.número1 Requerido;cualquierexpresiónnumérica.número2 Requerido;cualquierexpresiónnumérica.

Comentarios

Eloperadordemódulo,oresto,dividenúmero1pornúmero2(redondeandoaenteroslosnúmerosdesignoflotante)ydevuelvesóloelrestocomoresultado.Porejemplo,enlasiguienteexpresión,A(queeselresultado)esiguala5.

A=19Mod6.7

Generalmente,eltipodedatoderesultadoestipoByte,Bytetipovariant,tipoInteger,Integertipovariant,tipoLongotipoVariantquecontieneuntipoLong,independientementedesielresultadoesunnúmeroenteroono.Laparte

fraccionariasetrunca.Sinembargo,sicualquieradelasexpresionesesNull,elresultadoestambiénNull.TodaexpresiónEmptyseconsideracomo0.

Not(Operador)

Seutilizaparaejecutarunanegaciónlógicasobreunaexpresión.

Sintaxis

resultado=Notexpresión

LasintaxisdeloperadorNotconstadelassiguientespartes:

Parte Descripción

resultado Requerido;cualquiervariablenumérica.expresiónRequerido;cualquierexpresión.

Comentarios

Lasiguientetablamuestracómosedeterminaelresultado:

Siexpresiónes EntoncesresultadoesTrue FalseFalse TrueNull Null

Además,eloperadorNotinviertelosvaloresdebitdecualquiervariableyestableceelbitcorrespondienteenresultado,deacuerdoconlasiguientetabladedecisiónlógica:

Sielbitenexpresiónes Entonceselbitenresultadoes0 11 0

Operadoresdecomparación

Seutilizanparacompararexpresiones.

Sintaxis

resultado=expresión1operadorcomparaciónexpresión2

resultado=objeto1Isobjeto2

resultado=cadenaLikepatrón

Losoperadoresdecomparaciónconstandelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.expresión Requerido;cualquierexpresión.operadorcomparación Requerido;cualquieroperadordecomparación.objeto Requerido;cualquiernombredeobjeto.cadena Requerido;cualquierexpresióndecadena.patrón Requerido;cualquierexpresióndecadenaointervalo

decaracteres.

Comentarios

Estatablacontieneunalistadelosoperadoresdecomparaciónydelas

condicionesquedeterminansielresultadoesTrue,FalseoNull:

Operador Truesi Falsesi Nullsi<(Menorque) expresión1<

expresión2expresión1>=expresión2

expresión1oexpresión2=Null

<=(Menoroigualque)

expresión1<=expresión2

expresión1>expresión2

expresión1oexpresión2=Null

>(Mayorque) expresión1>expresión2

expresión1<=expresión2

expresión1oexpresión2=Null

>=(Mayoroigualque)

expresión1>=expresión2

expresión1<expresión2

expresión1oexpresión2=Null

=(Iguala) expresión1=expresión2

expresión1<>expresión2

expresión1oexpresión2=Null

<>(Distintode) expresión1<>expresión2

expresión1=expresión2

expresión1oexpresión2=Null

NotaLosoperadoresIsyLiketienenfuncionesdecomparaciónespecíficasquedifierendelasdelosoperadoresincluidosenlasiguientetabla.

Cuandosecomparandosexpresiones,puedeserdifícildeterminarsiéstassecomparancomonúmerosocomocadenasdecaracteres.EnlasiguientetablasemuestraelmodoenquesecomparanexpresionesycuáleselresultadocuandocualquieradelasexpresionesnoesdeltipoVariant:

Si EntoncesAmbasexpresionessondetiposdedatosnuméricos(Byte,Boolean,Integer,Long,Single,Double,Date,CurrencyoDecimal)

Seefectúaunacomparaciónnumérica.

AmbasexpresionessondetipoString Seefectúaunacomparacióndecadenas.

UnaexpresiónesdetipodedatosnuméricoylaotraesuntipoVariantquees,opuedeser,unnúmero

Seefectúaunacomparaciónnumérica.

UnaexpresiónesdetipodedatosnuméricoylaotraesuntipoVariantdecadenadecaracteresquenosepuedeconvertirenunnúmero

ProvocaunerrordeErrordetipos.

UnaexpresiónesdetipoStringylaotraescualquiertipoVariant,conexcepcióndeNull

Seefectúaunacomparacióndecadenas.

UnaexpresiónesEmptyylaotraesdeltipodedatosnumérico

Seefectúaunacomparaciónnumérica,usando0comolaexpresiónEmpty.

UnaexpresiónesEmptyylaotraesdeltipoString

Seefectúaunacomparacióndecadenas,utilizandounacadenadecaracteresdelongitudcero("")comolaexpresiónEmpty.

Sitantoexpresión1comoexpresión2sondeltipoVariant,eltiposubyacentedelasmismaseselquedeterminalamaneraenquesecomparan.EnlasiguientetablasemuestraelmodoenquesecomparanlasexpresionesycuáleselresultadodelaoperacióndeacuerdoconeltiposubyacentedeVariant:

Si EntoncesAmbasexpresionestipoVariantsonnuméricas

Seefectúaunacomparaciónnumérica.

AmbasexpresionestipoVariantsoncadenasdecaracteres

Seefectúaunacomparacióndecadenas.

UnaexpresióntipoVariantesnuméricaylaotraesunacadenadecaracteres

Laexpresiónnuméricaesmenorquelaexpresióndecadena.

UnaexpresióntipoVariantesEmptyylaotraesnumérica

Seefectúaunacomparaciónnumérica,usando0comolaexpresiónEmpty.

UnaexpresióntipoVariantesEmptyylaotraesunacadenadecaracteres

Seefectúaunacomparacióndecadenas,utilizandounacadenadecaracteresdelongitudcero("")comolaexpresiónEmpty.

AmbasexpresionestipoVariantsonEmpty

Lasexpresionessoniguales.

CuandosecomparauntipoSingleconuntipoDouble,ésteseredondeaalgradodeprecisióndeltipoSingle.

SiunaexpresióntipoCurrencysecomparaconunadetipoSingleoDouble,éstaseconviertealtipoCurrency.Deigualforma,cuandountipoDecimalsecomparaconuntipoSingleoDouble,eltipoSingleoelDoubleseconviertenatipoDecimal.ParaeltipoCurrency,cualquiervalorfraccionariomenorque0,0001sepierde;paraeltipoDecimal,cualquiervalorfraccionariomenorque1E-28sepierdeypuedeocurrirunerrordedesbordamiento.Perdervaloresfraccionariospuedehacerquedosvaloressecomparencomoigualescuandoenrealidadnoloson.

Or(Operador)

Seutilizaparaejecutarunadisyunciónlógicasobredosexpresiones.

Sintaxis

resultado=expresión1Orexpresión2

LasintaxisdeloperadorOrconstadelassiguientespartes:

Parte DescripciónResultado Requerido;cualquiervariablenumérica.expresión1Requerido;cualquierexpresión.expresión2Requerido;cualquierexpresión.

Comentarios

Sicualquieradelasexpresiones,oambas,esTrue,elresultadoesTrue.Lasiguientetablaindicacómosedeterminaelresultado:

Siexpresión1es Yexpresión2es ElresultadoesTrue True TrueTrue False TrueTrue Null TrueFalse True TrueFalse False FalseFalse Null NullNull True TrueNull False NullNull Null Null

EloperadorOrejecutaunacomparaciónbitabitparaidentificarlosbitsdedosexpresionesnuméricasquetienenlamismaposiciónyestableceelbitcorrespondienteenelresultadosegúnlasiguientetabladedecisiónlógica:

Sibitenexpresión1es Sibitenexpresión2es Elresultadoes0 0 00 1 11 0 11 1 1

Xor(Operador)

Seutilizapararealizarunaexclusiónlógicaentredosexpresiones.

Sintaxis

[resultado=]expresión1Xorexpresión2

LasintaxisdeloperadorXorconstadelassiguientespartes:

Parte Descripciónresultado Requerido;cualquiervariablenumérica.expresión1Requerido;cualquierexpresión.expresión2Requerido;cualquierexpresión.

Comentarios

SiunaysólounadelasexpresionesesTrue,elresultadoesTrue.Sinembargo,sicualquieradelasexpresionesesNull,elresultadoestambiénNull.CuandoningunadelasexpresionesesNull,elresultadosedeterminadeacuerdoconlasiguientetabla:

Siexpresión1es Yexpresión2es ElresultadoesTrue True FalseTrue False TrueFalse True TrueFalse False False

EloperadorXorfuncionacomooperadorlógicoybitabit.EjecutaunacomparaciónbitabitparaidentificarlosbitsdedosexpresionesutilizandológicadeOexclusivoparaobtenerelresultado,segúnlasiguientetabladedecisiónlógica:

Sibitenexpresión1es Ybitenexpresión2es Elresultadoes0 0 00 1 11 0 11 1 0

Convencionesdedocumentos

LadocumentacióndeVisualBasicutilizalassiguientesconvencionestipográficas.

Convención DescripciónSub,If,ChDir,Print,True,Debug

Laspalabrasennegritayconmayúsculaindicanpalabrasclaveespecíficasdellenguaje.

Setup Laspalabrasquesepidequeescribaelusuariodebenaparecerennegrita.

objeto,nomvariable,listaarg

Lasletrasminúsculasencursivaindicanlosmarcadoresdelugarparaqueelusuarioproporcionelainformación.

pathname,filenumber

Lasletrasminúsculasennegritaycursivaindicanlosmarcadoresdelugarparaargumentosdondesepuedeutilizarsintaxisdeposiciónodeargumentosconnombres.

[listaexpresiones] Loselementosdelasintaxisqueaparecenentrecorchetessonopcionales.

{While|Until} Enlasintaxis,lasllavesylabarravertical

indicanunaelecciónobligatoriaentredosomáselementos.Sedebeelegirunodeloselementos,amenosquetodosesténentrecorchetes.Porejemplo:

[{This|OrThat}]

Esc,Entrar Laspalabrasenmayúsculaindicannombresdearchivo,teclasysecuenciasdeteclas.

Alt+F1,Ctrl+R Unsignomás(+)entrenombresdeteclasindicaunacombinacióndeteclas.Porejemplo,Alt+F1significamantenerpresionadalateclaAltmientrassepresionalateclaF1.

Convencionesdecódigo

Seutilizanlassiguientesconvencionesdecódigo:

Códigodeejemplo DescripciónMiCadena="¡Hola!" Estafuenteseusaparaelcódigo,

variablesytextodemensajesdeerror.

'Estoesuncomentario. Loscomentariosalcódigoseinicianconunapóstrofo(').

MiVar="Estoesun"_

&"ejemplo"_

&"decómocontinuarcódigo."

Unespacioconunsubrayado(_)continúaunalíneadecódigo

Juegodecaracteres(0–127)

0 32 [space] 64 @ 96 `1 33 ! 65 A 97 a2 34 " 66 B 98 b3 35 # 67 C 99 c4 36 $ 68 D 100 d5 37 % 69 E 101 e6 38 & 70 F 102 f7 39 ' 71 G 103 g8 ** 40 ( 72 H 104 h9 ** 41 ) 73 I 105 i10 ** 42 * 74 J 106 j11 43 + 75 K 107 k12 44 , 76 L 108 l13 ** 45 - 77 M 109 m14 46 . 78 N 110 n15 47 / 79 O 111 o16 48 0 80 P 112 p17 49 1 81 Q 113 q18 50 2 82 R 114 r19 51 3 83 S 115 s20 52 4 84 T 116 t21 53 5 85 U 117 u22 54 6 86 V 118 v23 55 7 87 W 119 w

24 56 8 88 X 120 x25 57 9 89 Y 121 y26 58 : 90 Z 122 z27 59 ; 91 [ 123 {28 60 < 92 \ 124 |29 61 = 93 ] 125 }30 62 > 94 ^ 126 ~31 63 ? 95 _ 127

MicrosoftWindowsnoadmiteestoscaracteres.

**Losvalores8,9,10y13seconviertenaretroceso,tabulador,avancedelíneayretornodecarro,respectivamente.Notienenningunarepresentacióngráfica,perodependiendodelaaplicación,puedeninfluirenlapresentaciónvisualdeltexto.

Juegodecaracteres(128–255)

128 € 160 [space] 192 À 224 à129 € 161 ¡ 193 Á 225 á130 € 162 ¢ 194 Â 226 â131 € 163 £ 195 Ã 227 ã132 € 164 ¤ 196 Ä 228 ä133 € 165 ¥ 197 Å 229 å134 € 166 ¦ 198 Æ 230 æ135 € 167 § 199 Ç 231 ç136 € 168 ¨ 200 È 232 è137 € 169 © 201 É 233 é138 € 170 ª 202 Ê 234 ê139 € 171 « 203 Ë 235 ë140 € 172 ¬ 204 Ì 236 ì141 € 173 205 Í 237 í142 € 174 ® 206 Î 238 î143 € 175 ¯ 207 Ï 239 ï144 € 176 ° 208 Ð 240 ð145 € 177 ± 209 Ñ 241 ñ146 € 178 ² 210 Ò 242 ò147 € 179 ³ 211 Ó 243 ó148 € 180 ´ 212 Ô 244 ô149 € 181 µ 213 Õ 245 õ150 € 182 ¶ 214 Ö 246 ö151 € 183 · 215 × 247 ÷

152 € 184 ¸ 216 Ø 248 ø153 € 185 ¹ 217 Ù 249 ù154 € 186 º 218 Ú 250 ú155 € 187 » 219 Û 251 û156 € 188 ¼ 220 Ü 252 ü157 € 189 ½ 221 Ý 253 ý158 € 190 ¾ 222 Þ 254 þ159 € 191 ¿ 223 ß 255 ÿ

€MicrosoftWindowsnoaceptaestoscaracteres.

LosvaloresdelatablasonlospredeterminadosdeWindows.Sinembargo,losvaloresdecarácterANSIestablecidosporencimade127sedeterminanporelcódigodepáginaespecíficodesusistemaoperativo.

As

LapalabraclaveAsseutilizaenestoscontextos:

Const(Instrucción)

Declare(Instrucción)

Dim(Instrucción)

Function(Instrucción)

Name(Instrucción)

Open(Instrucción)

Private(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Public(Instrucción)

ReDim(Instrucción)

Static(Instrucción)

Sub(Instrucción)

Type(Instrucción)

Binary

LapalabraclaveBinaryseutilizaenestoscontextos:

Open(Instrucción)

OptionCompare(Instrucción)

ByRef

LapalabraclaveByRefseutilizaenestoscontextos:

Call(Instrucción)

Declare(Instrucción)

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Sub(Instrucción)

ByVal

LapalabraclaveByValseutilizaenestoscontextos:

Call(Instrucción)

Declare(Instrucción)

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Sub(Instrucción)

Date

LapalabraclaveDateseutilizaenestoscontextos:

Date(Tipodedatos)

Date(Función)

Date(Instrucción)

Else

LapalabraclaveElseseutilizaenestoscontextos:

If...Then...Else(Instrucción)

SelectCase(Instrucción)

Empty

LapalabraclaveEmptyseutilizacomounsubtipoVariant.Indicaqueunavariablenoestáinicializadaconunvalor.

Error

LapalabraclaveErrorseutilizaenestoscontextos:

Error(Función)

Error(Instrucción)

OnError(Instrucción)

False

LapalabraclaveFalsetieneunvaloriguala0.

For

LapalabraclaveForseutilizaenestoscontextos:

For...Next(Instrucción)

ForEach...Next(Instrucción)

Open(Instrucción)

Get

LapalabraclaveGetseutilizaenestoscontextos:

Get(Instrucción)

PropertyGet(Instrucción)

Input

LapalabraclaveInputseutilizaenestoscontextos:

Input(Función)

Input#(Instrucción)

LineInput#(Instrucción)

Open(Instrucción)

Is

LapalabraclaveIsseutilizaenestoscontextos:

If...Then...Else(Instrucción)

Is(Operador)

SelectCase(Instrucción)

Len

LapalabraclaveLenseutilizaenestoscontextos:

Len(Función)

Open(Instrucción)

Let

LapalabraclaveLetseutilizaenestoscontextos:

Let(Instrucción)

PropertyLet(Instrucción)

Lock

LapalabraclaveLockseutilizaenestoscontextos:

Lock,Unlock(Instrucciones)

Open(Instrucción)

Me

LapalabraclaveMesecomportacomounavariabledeclaradadeformaimplícita.Estádisponibleautomáticamenteparatodoslosprocedimientosenun

módulodeclase.Cuandounaclasepuedetenermásdeunainstancia,Meproporcionaunaformadereferirseaunainstanciaespecíficadelaclasedondeseestáejecutandoelcódigo.ElusodeMeesespecialmenteútilcuandosedeseapasarinformaciónsobrelainstanciaqueseestáejecutandoactualmenteaunprocedimientodeotromódulo.Porejemplo,supongaquetieneelprocedimientosiguienteenunmódulo:

SubCambiaColorFormulario(NombreFormularioAsForm)

NombreFormulario.BackColor=RGB(Rnd*256,Rnd*256,Rnd*256)

EndSub

PuedellamaraesteprocedimientoypasarlainstanciaactualdelaclaseFormcomounargumentoutilizandolasiguienteinstrucción:

CambiaColorFormularioMe

Mid

LapalabraclaveMidseutilizaenestoscontextos:

Mid(Función)

Mid(Instrucción)

New

LapalabraclaveNewseutilizaenestoscontextos:

Dim(Instrucción)

Private(Instrucción)

Public(Instrucción)

Set(Instrucción)

Static(Instrucción)

Next

LapalabraclaveNextseutilizaenestoscontextos:

For...Next(Instrucción)

ForEach...Next(Instrucción)

OnError(Instrucción)

Resume(Instrucción)

Nothing

LapalabraclaveNothingseutilizaparadesvincularunavariableobjetodeunobjetoreal.UtilicelainstrucciónSetparaasignarNothingaunavariableobjeto.Porejemplo:

SetMiObjeto=Nothing

Variasvariablesobjetopuedenreferirsealmismoobjetoreal.CuandoNothingseasignaaunavariableobjeto,lavariablenosereferiráyaalobjetoreal.Cuandovariasvariablesobjetoserefierenaunmismoobjeto,losrecursosdememoriaydelsistemaasociadosconelobjetosóloseliberandespuésdequetodasellassehanestablecidocomoNothing,yaseaexplícitamentemedianteSet,oimplícitamentedespuésdequelaúltimavariableobjetoestablecidacomoNothingsalgadelalcance.

Null

LapalabraclaveNullseutilizacomounsubtipoVariant.Indicaqueunavariablenotienedatosválidos.

On

LapalabraclaveOnseutilizaenestoscontextos:

OnError(Instrucción)

On...GoSub(Instrucción)

On...GoTo(Instrucción)

Option

LapalabraclaveOptionseutilizaenestoscontextos:

OptionBase(Instrucción)

OptionCompare(Instrucción)

OptionExplicit(Instrucción)

OptionPrivate(Instrucción)

Optional

LapalabraclaveOptionalseutilizaenestoscontextos:

Declare(Instrucción)

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Sub(Instrucción)

ParamArray

LapalabraclaveParamArrayseutilizaenestoscontextos:

Declare(Instrucción)

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Sub(Instrucción)

Print

LapalabraclavePrintseutilizaenestoscontextos:

Print(Método)

Print#(Instrucción)

Private

LapalabraclavePrivateseutilizaenestoscontextos:

Const(Instrucción)

Declare(Instrucción)

Enum(Instrucción)

Function(Instrucción)

OptionPrivate(Instrucción)

Private(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Sub(Instrucción)

Type(Instrucción)

Property

LapalabraclavePropertyseutilizaenestoscontextos:

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Public

LapalabraclavePublicseutilizaenestoscontextos:

Const(Instrucción)

Declare(Instrucción)

Enum(Instrucción)

Event(Instrucción)

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Public(Instrucción)

Sub(Instrucción)

Type(Instrucción)

Resume

LapalabraclaveResumeseutilizaenestoscontextos:

OnError(Instrucción)

Resume(Instrucción)

Seek

LapalabraclaveSeekseutilizaenestoscontextos:

Seek(Función)

Seek(Instrucción)

Set

LapalabraclaveSetseutilizaenestoscontextos:

Set(Instrucción)

PropertySet(Instrucción)

Static

LapalabraclaveStaticseutilizaenestoscontextos:

Function(Instrucción)

PropertyGet(Instrucción)

PropertyLet(Instrucción)

PropertySet(Instrucción)

Static(Instrucción)

Sub(Instrucción)

Step

LapalabraclaveStepseutilizaenestoscontextos:

For...Next(Instrucción)

ForEach...Next(Instrucción)

String

LapalabraclaveStringseutilizaenestoscontextos:

String(Tipodedatos)

String(Función)

Then

LapalabraclaveThenseutilizaenestoscontextos:

#If...Then...#Else(Directiva)

If...Then...Else(Instrucción)

Time

LapalabraclaveTimeseutilizaenestoscontextos:

Time(Función)

Time(Instrucción)

To

LapalabraclaveToseutilizaenestoscontextos:

Dim(Instrucción)

For...Next(Instrucción)

Lock,Unlock(Instrucciones)

Private(Instrucción)

Public(Instrucción)

ReDim(Instrucción)

SelectCase(Instrucción)

Static(Instrucción)

Type(Instrucción)

True

LapalabraclaveTruetieneunvaloriguala-1.

WithEvents

LapalabraclaveWithEventsseutilizaenestoscontextos:

Dim(Instrucción)

Private(Instrucción)

Public(Instrucción)

AtEndOfLine(Propiedad)

Descripción

PropiedaddesólolecturaquedevuelveTruesielpunterodelarchivoprecedeinmediatamentealmarcadordefinaldelíneaenunarchivoTextStream.DevuelveFalsesinoleprecede.

Sintaxis

objeto.AtEndOfLine

ElobjetosiempreeselnombredeunobjetoTextStream.

Comentarios

LapropiedadAtEndOfLinesóloesaplicablealosarchivosTextStreamqueestánabiertosparalectura;sino,seproduceunerror.

ElcódigosiguientedemuestralautilizacióndelapropiedadAtEndOfLine:

Dimfs,a,retstring

Setfs=CreateObject("Scripting.FileSystemObject")

Seta=fs.OpenTextFile("c:\archivoprueba.txt",ForReading,False)

DoWhilea.AtEndOfLine<>True

retstring=a.Read(1)

...

Loop

a.Close

AtEndOfStream(Propiedad)

Descripción

PropiedaddesólolecturaquedevuelveTruesielpunterodelarchivoestáalfinaldeunarchivoTextStream.DevuelveFalsesinoloestá.

Sintaxis

objeto.AtEndOfStream

ElobjetoessiempreelnombredeunobjetoTextStream.

Comentarios

LapropiedadAtEndOfStreamsóloesaplicableaarchivosTextStreamqueseabrenparalectura;sino,seproduceunerror.

ElcódigosiguientedemuestralautilizacióndelapropiedadAtEndOfStream:

Dimfs,a,retstring

Setfs=CreateObject("Scripting.FileSystemObject")

Seta=fs.OpenTextFile("c:\archivoprueba.txt",ForReading,False)

DoWhilea.AtEndOfStream<>True

retstring=a.ReadLine

...

Loop

a.Close

Attributes(Propiedad)

Descripción

Estableceodevuelvelosatributosdearchivosocarpetas.Lecturaoescritura,osólolectura,dependiendodelatributo.

Sintaxis

objeto.Attributes[=atributosNuevos]

LapropiedadAttributesconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileoFolder.atributosNuevos Opcional.Siseproporciona,atributosNuevoseselnuevo

valorparalosatributosdelobjetoespecificado.

Valores

ElargumentoatributosNuevospuedetenercualquieradelosvaloressiguientesocualquiercombinaciónlógicadelosvaloressiguientes:

Constante Valor Descripción

Normal 0 Archivonormal.Noseestablecenatributos.ReadOnly 1 Archivodesólolectura.Elatributoesdelecturao

escritura.Hidden 2 Archivooculto.Elatributoesdelecturaoescritura.System 4 Archivodelsistema.Elatributoesdelecturao

escritura.Volume 8 Etiquetadelvolumendelaunidaddedisco.El

atributoesdesólolectura.Directory 16 Carpetaodirectorio.Elatributoesdesólolectura.Archive 32 Elarchivocambiódesdelaúltimacopiade

seguridad.Elatributoesdelecturaoescritura.Alias 64 Vínculoométodoabreviado.Elatributoesdesólo

lectura.Compressed 128 Archivocomprimido.Elatributoesdesólolectura.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadAttributesconunarchivo:

SubSetClearArchiveBit(filespec)

Dimfs,f,r

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(fs.GetFileName(filespec))

Iff.attributesand32Then

r=MsgBox("ElbitArchivoestáestablecido,¿deseaborrarlo?",vbYesNo,"Establecer/BorrarbitArchivo")

Ifr=vbYesThen

f.attributes=f.attributes-32

MsgBox"ElbitArchivohasidoborrado."

Else

MsgBox"ElbitArchivopermaneceestablecido."

EndIf

Else

r=MsgBox("ElbitArchivonoestáestablecido.¿Deseaverlo?",vbYesNo,"Establecer/BorrarbitArchivo")

Ifr=vbYesThen

f.attributes=f.attributes+32

MsgBox"ElbitArchivoestáestablecido."

Else

MsgBox"ElbitArchivopermaneceborrado."

EndIf

EndIf

EndSub

AvailableSpace(Propiedad)

Descripción

Devuelvelacantidaddeespaciodisponibleparaunusuarioenelrecursocompartidoderedolaunidadespecificada.

Sintaxis

objeto.AvailableSpace

ElobjetoessiempreunobjetoDrive.

Comentarios

ElvalordevueltoporlapropiedadAvailableSpacenormalmenteeslamismaquedevolviólapropiedadFreeSpace.Puedenexistirdiferenciasentrelosdosvaloresparasistemasdeequiposqueadmitencuotas.

ElcódigosiguientedemuestralautilizacióndelapropiedadAvailableSpace:

SubShowAvailableSpace(drvPath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(drvPath))

s="Drive"&UCase(drvPath)&"-"

s=s&d.VolumeName&vbCrLf

s=s&"AvailableSpace:"&FormatNumber(d.AvailableSpace

s=s&"Kbytes"

MsgBoxs

EndSub

Calendar(Propiedad)

Devuelveoestableceunvalorqueespecificaeltipodecalendarioautilizarenelproyecto.

PuedeutilizardosvaloresparaCalendar:

Parámetro Valor DescripciónvbCalGreg 0 Utilizaelcalendariogregoriano

(predeterminado).vbCalHijri 1 UtilizaelcalendarioHijri.

Comentarios

SólopuedeestablecerlapropiedadCalendarporprograma.Porejemplo,parautilizarelcalendarioHijri,utilice:

Calendar=vbCalHijri

Column(Propiedad)

Descripción

PropiedaddesólolecturaquedevuelveelnúmerodelacolumnadelaposiciónactualdelcarácterenunarchivoTextStream.

Sintaxis

objeto.Column

ElobjetoessiempreelnombredeunobjetoTextStream.

Comentarios

Despuésdeescribiruncarácternuevalínea,peroantesdequeseescribacualquierotrocarácter,Columnesiguala1.

CompareMode(Propiedad)

Descripción

EstableceydevuelveelmododecomparaciónqueseutilizaparacompararclavesdecadenasenunobjetoDictionary.

Sintaxis

objeto.CompareMode[=comparar]

LapropiedadCompareModeconstadelaspartessiguientes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDictionary.comparar Opcional.Siseproporciona,compararesunvalorquerepresenta

elmododecomparaciónutilizadoporlasfuncionescomoStrComp.

Valores

Elargumentocompararpuedetenerlossiguientesvalores:

Constante Valor Descripción

vbUseCompareOption –1 RealizarunacomparaciónutilizandoelvalordelainstrucciónOptionCompare.

vbBinaryCompare 0 Realizarunacomparaciónbinaria.vbTextCompare 1 Realizarunacomparaciónbasadaeneltexto.vbDatabaseCompare 2 SóloMicrosoftAccess.Realizaruna

comparaciónbasadaenlainformacióndesubasededatos.

Comentarios

SeproduceunerrorsiintentacambiarelmododecomparacióndeunobjetoDictionaryqueyacontienedatos.

LapropiedadCompareModeutilizalosmismosvaloresqueelargumentocompararparalafunciónStrComp.Losvaloressuperioresa2sepuedenutilizarparahacerreferenciaacomparacionesutilizandoidentificadoreslocalesespecificosdelaconfiguraciónregional(LCID,LocaleIdentifier).

Count(Propiedad)

DevuelveuntipoLong(enterolargo)quecontieneelnúmerodeobjetosdeunacolección.Sólolectura.

Count(Propiedad)

Descripción

DevuelveelnúmerodeelementosdeunacolecciónuobjetoDictionary.Sólolectura.

Sintaxis

objeto.Count

ElobjetoessiempreelnombredeunodeloselementosdelalistaAplicablea.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadCount:

Dima,d,i'Crearvariasvariables

Setd=CreateObject("Scripting.Dictionary")

d.Add"a","Athens"'Agregarvariasclavesyelementos.

d.Add"b","Belgrade"

d.Add"c","Cairo"

a=d.Keys'Obtenerlasclaves

Fori=0Tod.Count-1'Repetirparacadaelementodelarray

Printa(i)'Imprimirlaclave

Next

...

DateCreated(Propiedad)

Descripción

Devuelvelafechayhoraenquesecreólacarpetaoarchivoespecificos.Sólolectura.

Sintaxis

objeto.DateCreated

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadDateCreatedconunarchivo:

SubShowFileInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s="Creado:"&f.DateCreated

MsgBoxs

EndSub

DateLastAccessed(Propiedad)

Descripción

Devuelvelafechayhoraalaqueseprodujounaccesoaunacarpetaoarchivoespecificadosporúltimavez.Sólolectura.

Sintaxis

objeto.DateLastAccessed

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadDateLastAccessedconunarchivo:

SubShowFileAccessInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=UCase(filespec)&vbCrLf

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

ImportanteElcomportamientodeestemétododependedelsistemaoperativo.Sielsistemaoperativonoproporcionainformacióndelahoraolafecha,nosedevolveráningunainformación.

DateLastModified(Propiedad)

Descripción

Devuelvelafechayhoraenquesemodificóporúltimavezlacarpetaoelarchivoespecificados.Sólolectura.

Sintaxis

objeto.DateLastModified

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadDateLastModifiedconunarchivo:

SubShowFileAccessInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=UCase(filespec)&vbCrLf

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed&vbCrLf

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

Description(Propiedad)

Devuelveoestableceunaexpresióndecadenaquecontieneunacadenadescriptivaasociadaaunerror.Lectura/escritura.

ParaelobjetoErr,devuelveoestableceunacadenadescriptivaasociadaaunerror.

Comentarios

LapropiedadDescriptioncontieneunabrevedescripcióndelerror.Puede

utilizarestapropiedadparanotificaralusuariounerrorqueustednopuedeonodeseatratar.Algenerarunerrordefinidoporelusuario,asigneunabrevedescripcióndelmismoaestapropiedad.SinoserellenaDescriptionyelvalordeNumbercorrespondeaunerrorentiempodeejecucióndeVisualBasic,lacadenaquedevuelvelafunciónErrorsecolocaenDescriptioncuandosegeneraelerror.

Drive(Propiedad)

Descripción

Devuelvelaletradelaunidadenlaqueresidelacarpetaoelarchivoespecificados.Sólolectura.

Sintaxis

objeto.Drive

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadDrive:

SubShowFileAccessInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=f.Name&"onDrive"&UCase(f.Drive)&vbCrLf

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed&vbCrLf

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

DriveLetter(Propiedad)

Descripción

Devuelvelaletradeunidaddeunaunidadlocalfísicaounrecursocompartidodered.Sólolectura.

Sintaxis

objeto.DriveLetter

ElobjetoessiempreunobjetoDrive.

Comentarios

LapropiedadDriveLetterdevuelveunacadenadelongitudcero("")silaunidadespecificadanoestáasociadaconunaletradeunidad,porejemplo,unrecursocompartidoderedquenoseasignóaunaletradeunidad.

ElcódigosiguientedemuestralautilizacióndelapropiedadDriveLetter:

SubShowDriveLetter(drvPath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(drvPath))

s="Unidad"&d.DriveLetter&":-"

s=s&d.VolumeName&vbCrLf

s=s&"Espaciolibre:"&FormatNumber(d.FreeSpace/1024,0)

s=s&"Kbytes"

MsgBoxs

EndSub

Drives(Propiedad)

Descripción

DevuelveunacolecciónDrivesquesecomponedelosobjetosDrivedisponiblesenlamáquinalocal.

Sintaxis

objeto.Drives

ElobjetoessiempreunobjetoFileSystemObject.

Comentarios

NoesnecesarioquelasunidadesdemediosseparablestenganmediosintroducidosparaqueaparezcanenlacolecciónDrives.

PuederecorrerlosmiembrosdelacolecciónDrivesutilizandounaconstrucciónForEach...Nextcomosedemuestraenelcódigosiguiente:

SubShowDriveList

Dimfs,d,dc,s,n

Setfs=CreateObject("Scripting.FileSystemObject")

Setdc=fs.Drives

ForEachdindc

s=s&d.DriveLetter&"-"

Ifd.DriveType=3Then

n=d.ShareName

Else

n=d.VolumeName

EndIf

s=s&n&vbCrLf

Next

MsgBoxs

EndSub

DriveType(Propiedad)

Descripción

Devuelveunvalorqueindicaeltipodeunaunidadespecificada.

Sintaxis

objeto.DriveType

ElobjetoessiempreunobjetoDrive.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadDriveType:

SubShowDriveType(drvpath)

Dimfs,d,s,t

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(drvpath)

SelectCased.DriveType

Case0:t="Desconocido"

Case1:t="Separable"

Case2:t="Fijo"

Case3:t="Red"

Case4:t="CD-ROM"

Case5:t="DiscoRAM"

EndSelect

s="Unidad"&d.DriveLetter&":-"&t

MsgBoxs

EndSub

Files(Propiedad)

Descripción

DevuelveunacolecciónFilesquesecomponedelosobjetosFilecontenidosenlacarpetaespecificada,incluyendolosquetienenestablecidosatributosdelarchivodelsistemayoculto.

Sintaxis

objeto.Files

ElobjetoessiempreunobjetoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadFiles:

SubShowFileList(folderspec)

Dimfs,f,f1,fc,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(folderspec)

Setfc=f.Files

ForEachf1infc

s=s&f1.name

s=s&vbCrLf

Next

MsgBoxs

EndSub

FileSystem(Propiedad)

Descripción

Devuelveeltipodesistemadearchivosqueutilizalaunidadespecificada.

Sintaxis

objeto.FileSystem

ElobjetoessiempreunobjetoDrive.

Comentarios

LostiposderetornodisponiblesincluyenFAT,NTFSyCDFS.

ElcódigosiguientedemuestralautilizacióndelapropiedadFileSystem:

SubShowFileSystemType

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive("e:")

s=d.FileSystem

MsgBoxs

EndSub

FreeSpace(Propiedad)

Descripción

Devuelvelacantidaddeespaciolibredisponibleparaunusuarioenelrecursocompartidoderedounidadespecificada.Sólolectura.

Sintaxis

objeto.FreeSpace

ElobjetoessiempreunobjetoDrive.

Comentarios

ElvalordevueltoporlapropiedadFreeSpacenormalmenteeselmismoqueelquedevolviólapropiedadAvailableSpace.Puedenexistirdiferenciasentrelosdosensistemasdeequiposqueadmitancuotas.

ElcódigosiguientedemuestralautilizacióndelapropiedadFreeSpace:

SubShowFreeSpace(drvPath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(drvPath))

s="Unidad"&UCase(drvPath)&"-"

s=s&d.VolumeName&vbCrLf

s=s&"Espaciolibre:"&FormatNumber(d.FreeSpace

s=s&"Kbytes"

MsgBoxs

EndSub

HelpContext(Propiedad)

DevuelveoestableceunaexpresióndecadenaquecontieneelidentificadordecontextodeuntemaparaunarchivodeAyudadeMicrosoftWindows.Lectura/escritura.

Comentarios

LapropiedadHelpContextseusaparamostrarautomáticamenteeltemadeAyudaespecificadoenlapropiedadHelpFile.SiHelpFileyHelpContextestánvacías,secomprobaráelvalordeNumber.SiNumbercorrespondeaunvalor

deerrorentiempodeejecucióndeVisualBasic,seusaelidentificadordecontextoparaelerrordeVisualBasic.SielvalordeNumbernocorrespondeaunerrordeVisualBasic,semostrarálapantalladeíndicedelarchivodeAyudadeVisualBasic.

NotaEnsuaplicacióndebeincluirrutinasdetratamientodeloserroresmáscomunes.Alprogramarconunobjeto,puedeutilizarlainformaciónqueproporcionaelarchivodeAyudaparamejorarlacalidaddeltratamientodeloserroresoparamostrarunmensajesignificativoparaelusuariosielerrornoesrecuperable.

HelpFile(Propiedad)

DevuelveoestableceunaexpresióndecadenaconunarutacompletadeunarchivodeAyudadeMicrosoftWindows.Lectura/escritura.

Comentarios

CuandoseespecificaunarchivodeAyudaenHelpFile,selellamaautomáticamentecuandoelusuariohaceclicelbotónAyuda(opresionalateclaF1)delcuadrodediálogodelmensajedeerror.SilapropiedadHelpContextcontieneunidentificadordecontextoválidoparaelarchivoespecificado,semostraráautomáticamenteeltemacorrespondiente.SinoseespecificanadaenHelpFile,apareceráelarchivodeAyudadeVisualBasic.

NotaEnsuaplicacióndebeincluirrutinasdetratamientodeloserroresmáscomunes.Alprogramarconunobjeto,puedeutilizarlainformaciónqueproporcionaelarchivodeAyudaparamejorarlacalidaddeltratamientodeloserroresoparamostrarunmensajesignificativoparaelusuariosielerrornoes

recuperable.

IsReady(Propiedad)

Descripción

DevuelveTruesilaunidadespecificadaestápreparadayFalsesinoloestá.

Sintaxis

objeto.IsReady

ElobjetoessiempreunobjetoDrive.

Comentarios

ParaunidadesdemediosseparablesyunidadesdeCD-ROM,IsReadydevuelveTruesólocuandoseinsertanlosmediosapropiadosyestánpreparadosparaelacceso.

ElcódigosiguientedemuestralautilizacióndelapropiedadIsReady:

SubShowDriveInfo(drvpath)

Dimfs,d,s,t

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(drvpath)

SelectCased.DriveType

Case0:t="Desconocido"

Case1:t="Separable"

Case2:t="Fijo"

Case3:t="Red"

Case4:t="CD-ROM"

Case5:t="DiscoRAM"

EndSelect

s="Unidad"&d.DriveLetter&":-"&t

Ifd.IsReadyThen

s=s&vbCrLf&"Launidadestápreparada."

Else

s=s&vbCrLf&"Launidadnoestápreparada."

EndIf

MsgBoxs

EndSub

IsRootFolder(Propiedad)

Descripción

DevuelveTruesilacarpetaespecificadaeslacarpetaraízyFalsesinoloes.

Sintaxis

objeto.IsRootFolder

ElobjetoessiempreunobjetoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadIsRootFolder:

Dimfs

Setfs=CreateObject("Scripting.FileSystemObject")

SubDisplayLevelDepth(pathspec)

Dimf,n

Setf=fs.GetFolder(pathspec)

Iff.IsRootFolderThen

MsgBox"Lacarpetaespecificadaestáenlacarpetaraíz."

Else

DoUntilf.IsRootFolder

Setf=f.ParentFolder

n=n+1

Loop

MsgBox"Lacarpetaespecificadaestáanidada"&n&"niveles."

EndIf

EndSub

Item(Propiedad)

Descripción

EstableceodevuelveunelementoparaunaclaveespecificadaenunobjetoDictionary.Paracolecciones,devuelveunelementobasadoenlaclaveespecificada.Lecturaoescritura.

Sintaxis

objeto.Item(clave)[=elementoNuevo]

LapropiedadItemconstadelaspartessiguientes:

Parte Descripciónobjeto Requerido.Siempreelnombredeunacolecciónuobjeto

Dictionary.clave Requerido.Laclaveasociadaconelelementoqueserecuperao

agrega.elementoNuevo Opcional.UtilizadosóloparaelobjetoDictionary;sin

aplicaciónparacolecciones.Siseproporciona,elargumentoelementoNuevoeselvalornuevoqueseasociaconlaclaveespecificada.

Comentarios

Silaclavenoseencuentracuandosecambiaunelemento,secreaunaclavenuevaconelelementoNuevoespecificado.Silaclavenoseencuentracuandoseintentadevolverunelementoexistente,secreaunaclavenuevaysuelementocorrespondientesedejavacío.

Key(Propiedad)

Descripción

EstableceunaclaveenunobjetoDictionary.

Sintaxis

objeto.Key(clave)=claveNueva

LapropiedadKeyconstadelaspartessiguientes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDictionary.clave Requerido.Elvalordelaclavequesecambia.claveNueva Requerido.Elvalornuevoquereemplazalaclaveespecificada.

Comentarios

Sinoseencuentralaclavecuandosecambiaunaclave,seproduciráunerrorentiempodeejecución.

LastDLLError(Propiedad)

Devuelveuncódigodeerrordesistemaproducidoporunallamadaaunabibliotecadevínculosdinámicos(DLL).Sólolectura.

Comentarios

LapropiedadLastDLLErrorseaplicasóloallamadasaDLLrealizadasdesdecódigodeVisualBasic.Normalmente,cuandoserealizanllamadasdeestetipo,lafunciónllamadadevuelveuncódigoqueindicaeléxitooelfallodelaoperaciónyserellenalapropiedadLastDLLError.ConsulteladocumentacióndelasfuncionesdelaDLLparadeterminarquévaloresderetornoindicaneléxitooelfallo.Siembrequesedevuelvaelcódigodefallo,laaplicacióndeVisualBasicdeberácomprobarinmediatamentelapropiedadLastDLLError.CuandoseestablecelapropiedadLastDLLErrornosegeneraningunaexcepción.

Line(Propiedad)

Descripción

PropiedaddesólolecturaquedevuelveelnúmerodelíneaactualenunarchivoTextStream.

Sintaxis

objeto.Line

ElobjetoessiempreelnombredeunobjetoTextStream.

Comentarios

Unavezqueseabreunarchivoinicialmenteyantesdequeseescribaalgo,lapropiedadLineesiguala1.

Name(Propiedad)

Descripción

Estableceodevuelveelnombredeunacarpetaoarchivoespecificados.Lectura/escritura.

Sintaxis

objeto.Name[=nombreNuevo]

LapropiedadNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoFileoFolder.nombreNuevo Opcional.Siseproporciona,nombreNuevoeselnombrenuevo

delobjetoespecificado.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadName:

SubShowFileAccessInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=f.Name&"enlaunidad"&UCase(f.Drive)&vbCrLf

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed&vbCrLf

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

Number(Propiedad)

Devuelveoestableceunvalornuméricoqueespecificaunerror.NumbereslapropiedadpredeterminadadelobjetoErr.Lectura/escritura.

Comentarios

Aldevolverunerrordefinidoporelusuariodesdeunobjeto,establezcaErr.NumberagregandoelnúmeroquehaseleccionadocomocódigodeerroralaconstantevbObjectError.Porejemplo,puedeutilizarlalíneasiguienteparadevolverelnúmero1051comocódigodeerror:

Err.RaiseNumber:=vbObjectError+1051,Source:="AlgunaClase"

ParentFolder(Propiedad)

Descripción

DevuelveelobjetoFolderqueidentificaparalacarpetaprincipaldelacarpetaoelarchivoespecificados.Sólolectura.

Sintaxis

objeto.ParentFolder

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadParentFolderconunarchivo:

SubShowFileAccessInfo(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=UCase(f.Name)&"en"&UCase(f.ParentFolder

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed&vbCrLf

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

Path(Propiedad)

Descripción

Devuelvelarutadeunaunidad,carpetaoarchivoespecificados.

Sintaxis

objeto.Path

ElobjetoessiempreunobjetoFile,FolderoDrive.

Comentarios

Paraletrasdeunidad,launidadraíznoestáincluida.Porejemplo,larutadelaunidadCesC:,noC:\.

ElcódigosiguientedemuestralautilizacióndelapropiedadPathconunobjetoFile:

SubShowFileAccessInfo(filespec)

Dimfs,d,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s=UCase(f.Path)&vbCrLf

s=s&"Creado:"&f.DateCreated&vbCrLf

s=s&"Últimoacceso:"&f.DateLastAccessed&vbCrLf

s=s&"Últimamodificación:"&f.DateLastModified

MsgBoxs,0,"Informacióndeaccesoalarchivo"

EndSub

RootFolder(Propiedad)

Descripción

DevuelveunobjetoFolderquerepresentalacarpetaraízdeunaunidadespecificada.Sólolectura.

Sintaxis

objeto.RootFolder

ElobjetoessiempreunobjetoDrive.

Comentarios

SepuedeteneraccesoatodoslosarchivosycarpetascontenidasenlaunidadutilizandoelobjetoFolderdevuelto.

SerialNumber(Propiedad)

Descripción

Devuelveelnúmerodeseriedecimalqueseutilizaparaidentificardeformaúnicaunvolumendedisco.

Sintaxis

objeto.SerialNumber

ElobjetoessiempreunobjetoDrive.

Comentarios

PuedeutilizarlapropiedadSerialNumberparaasegurarsequeseintroduceeldiscocorrectoenunaunidadconmediosseparables.

ElcódigosiguientedemuestralautilizacióndelapropiedadSerialNumber:

SubShowDriveInfo(drvpath)

Dimfs,d,s,t

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))

SelectCased.DriveType

Case0:t="Desconocido"

Case1:t="Separable"

Case2:t="Fijo"

Case3:t="Red"

Case4:t="CD-ROM"

Case5:t="DiscoRAM"

EndSelect

s="Unidad"&d.DriveLetter&":-"&t

s=s&vbCrLf&"NS:"&d.SerialNumber

MsgBoxs

EndSub

ShareName(Propiedad)

Descripción

Devuelveelnombredelrecursocompartidoderedparaunaunidadespecificada.

Sintaxis

objeto.ShareName

ElobjetoessiempreunobjetoDrive.

Comentarios

Sielobjetonoesunaunidaddered,lapropiedadShareNamedevuelveunacadenadelongitudcero("").

ElcódigosiguientedemuestralautilizacióndelapropiedadShareName:

SubShowDriveInfo(drvpath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))

s="Unidad"&d.DriveLetter&":-"&d.ShareName

MsgBoxs

EndSub

ShortName(Propiedad)

Descripción

Devuelveelnombrecortoutilizadoporlosprogramasquenecesitanlaconvencióndenomenclatura8+3anterior.

Sintaxis

objeto.ShortName

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadShortNameconunobjetoFile:

SubShowShortName(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s="Elnombrecortopara"&""&UCase(f.Name)

s=s&""&vbCrLf

s=s&"es:"&""&f.ShortName&""

MsgBoxs,0,"Informacióndenombrecorto"

EndSub

ShortPath(Propiedad)

Descripción

Devuelvelarutacortautilizadaporlosprogramasquenecesitannecesitanlaconvencióndenomenclatura8+3anterior.

Sintaxis

objeto.ShortPath

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadShortNameconunobjetoFile:

SubShowShortPath(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFile(filespec)

s="Larutacortapara"&""&UCase(f.Name)

s=s&""&vbCrLf

s=s&"es:"&""&f.ShortPath&""

MsgBoxs,0,"Informaciónderutacorta"

EndSub

Size(Propiedad)

Descripción

Paraarchivos,devuelveeltamaño,enbytes,delarchivoespecificado.Paracarpetas,devuelveeltamaño,enbytes,detodoslosarchivosysubcarpetascontenidosenlacarpeta.

Sintaxis

objeto.Size

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadSizeconunobjetoFolder:

SubShowFolderSize(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(filespec)

s=UCase(f.Name)&"utiliza"&f.size&"bytes."

MsgBoxs,0,"Informacióndeltamañodelacarpeta"

EndSub

Source(Propiedad)

Devuelveoestableceunaexpresióndecadenaqueespecificaelnombredelobjetoolaaplicaciónquegeneróelerror.Lectura/escritura.

Comentarios

LapropiedadSourceespecificaunaexpresióndecadenaquerepresentaalobjetoquegeneróelerror;laexpresiónesnormalmenteelnombredeclaseoelidentificadorprogramáticodelobjeto.PuedeutilizarSourceparaproporcionarinformaciónalusuariocuandoelcódigonopuedatratarunerrorgeneradoenunobjetoalquesehatenidoacceso.Porejemplo,sisetieneaccesoaMicrosoftExcelyéstegeneraunerrorDivisiónporcero,MicrosoftExcelestableceráenErr.NumbersucódigodeerrorcorrespondienteyExcel.ApplicationenSource.

Algenerarunerrorenelcódigo,Sourceseráelidentificadorprogramáticodelaaplicación.Paramódulosdeclase,Sourcedebecontenerunnombreconelformatoproyecto.clase.Cuandoseproduceunerrorinesperadoensucódigo,lapropiedadSourceserellenaautomáticamente.Paraloserroresenmódulosestándar,Sourcecontieneelnombredeproyecto.Paraloserroresenunmódulodeclase,Sourcecontieneunnombreconelformatoproyecto.clase.

StartUpPosition(Propiedad)

DevuelveoestableceunvalorqueespecificalaposicióndeunUserFormcuandoapareceporprimeravez.

PuedeutilizarunodeloscuatrovaloressiguientesparaStartUpPosition:

Parámetro Valor DescripciónManual 0 Noseespecificavalorinicial.CenterOwner 1 Centradoenelelementoalqueperteneceel

UserForm.CenterScreen 2 Centradoenlapantalla.WindowsDefault 3 Colocadoenlaesquinasuperiorizquierdadela

pantalla.

Comentarios

PuedeestablecerlapropiedadStartUpPositionporprogramaodesdelaventanaPropiedades.

SubFolders(Propiedad)

Descripción

DevuelveunacolecciónFolderscompuestaportodaslascarpetascontenidasenunacarpetaespecificada,incluyendolasquetienenestablecidosatributosdearchivodelsistemayoculto.

Sintaxis

objeto.SubFolders

ElobjetoessiempreunobjetoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadSubFolders:

SubShowFolderList(folderspec)

Dimfs,f,f1,s,sf

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(folderspec)

Setsf=f.SubFolders

ForEachf1insf

s=s&f1.name

s=s&vbCrLf

Next

MsgBoxs

EndSub

TotalSize(Propiedad)

Descripción

Devuelveelespaciototal,enbytes,deunaunidadorecursocompartidodered.

Sintaxis

objeto.TotalSize

ElobjetoessiempreunobjetoDrive.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadTotalSize:

SubShowSpaceInfo(drvpath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))

s="Unidad"&d.DriveLetter&":"

s=s&vbCrLf

s=s&"Tamañototal:"&FormatNumber(d.TotalSize

s=s&vbCrLf

s=s&"Disponible:"&FormatNumber(d.AvailableSpace/1024,0)&"Kbytes"

MsgBoxs

EndSub

Type(Propiedad)

Descripción

Devuelveinformaciónacercadeltipodeunarchivoocarpeta.Porejemplo,paralosarchivosqueterminenen.txt,sedevuelve"Documentodetexto".

Sintaxis

objeto.Type

ElobjetoessiempreunobjetoFileoFolder.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadTypeparadevolveruntipodecarpeta.Enesteejemplo,intenteproporcionaralprocedimientolarutadelaPapeleradereciclajeuotracarpetaúnica.

SubShowFileSize(filespec)

Dimfs,f,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setf=fs.GetFolder(filespec)

s=UCase(f.Name)&"isa"&f.Type

MsgBoxs,0,"Informacióndeltipodelacarpeta"

EndSub

VolumeName(Propiedad)

Descripción

Estableceodevuelveelnombredelvolumendelaunidadespecificada.Lecturaoescritura.

Sintaxis

objeto.VolumeName[=nombreNuevo]

LapropiedadVolumeNameconstadelassiguientespartes:

Parte Descripciónobjeto Requerido.SiempreelnombredeunobjetoDrive.nombreNuevo Opcional.Siseproporciona,nombreNuevoeselnombrenuevo

delobjetoespecificado.

Comentarios

ElcódigosiguientedemuestralautilizacióndelapropiedadVolumeName:

SubShowVolumeInfo(drvpath)

Dimfs,d,s

Setfs=CreateObject("Scripting.FileSystemObject")

Setd=fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))

s="Unidad"&d.DriveLetter&":-"&d.VolumeName

MsgBoxs

EndSub

Boolean(Tipodedatos)

LasvariablestipoBooleansealmacenancomonúmerosde16bits(2bytes),perosólopuedenserTrueoFalse.LasvariablestipoBooleansepresentancomoTrueoFalse(cuandoseutilizaPrint)o#TRUE#o#FALSE#(cuandoseutilizaWrite#).UtilicelaspalabrasclaveTrueyFalseparaasignarunodelosdosestadosalasvariablestipoBoolean.

CuandoseconviertenatipoBooleanotrostiposnuméricos,0seconvierteenFalse,yelrestodelosvaloresseconviertenenTrue.CuandolosvalorestipoBooleanseconviertenaotrostiposdedatosnuméricos,Falseseconviertaen0

yTrueseconvierteen-1.

Byte(Tipodedatos)

LasvariablestipoBytesealmacenancomonúmerosde8bits(1byte)sencillossinsignoconunintervalodevaloresentre0y225.

EltipodedatosByteesútilparaalmacenardatosbinarios.

Currency(Tipodedatos)

LasvariablestipoCurrencysealmacenancomonúmerosde64bits(8bytes)enunformatodenúmeroenteroaescalade10.000paradarunnúmerodepuntofijocon15dígitosalaizquierdadelsignodecimaly4dígitosaladerecha.Estarepresentaciónproporcionaunintervalode-922.337.203.685.477,5808a922.337.203.685.477,5807.ElcarácterdedeclaracióndetipoparaCurrencyeselsigno@.

EltipodedatosCurrencyesútilparacálculosmonetariosyparacálculosdepuntofijo,enloscualeslaprecisiónesespecialmenteimportante.

Date(Tipodedatos)

LasvariablesdefechasealmacenancomonúmerosIEEEdesignoflotantede64bits(8bytes)quevandel1deenerodel100al31dediciembrede9999yhorariosde0:00:00a23:59:59.CualquiervalorreconocibledefechaliteralsepuedeasignaralasvariablestipoDate.Losliteralesdefechasedebenponerentrecaracteresdesignodenúmero(#).Porejemplo,#1Enero,1993#o#1Ene93#.

LasvariablestipoDatepresentanfechasdeacuerdoalformatodefechacortoreconocidoporsusistema.Lahorasepresentadeacuerdoalformatodehora

reconocidoporsusistema(12ó24horas).

CuandoseconviertenatipoDateotrosdatosdetiponuméricos,losvaloresalaizquierdadelsignodecimalrepresentanlainformacióndefecha,mientrasquelosvaloresaladerechadelsignodecimalrepresentanlahora.Medianochees0ymediodíaes0,5.Losnúmerosenterosnegativosrepresentanfechasanterioresal30dediciembrede1899.

Decimal(Tipodedatos)

Lasvariablesdecimalessealmacenancomoenterosconsignode96bits(12bytes)escaladosconunapotenciavariablede10.Lapotenciadelfactordeescalade10especificaelnúmerodedígitosquehayaladerechadelsignodecimalyvaríadesde0a28.Conunaescalade0(sindecimales),elmayorvalorposiblees+/-79.228.162.514.264.337.593.543.950.335.Con28posicionesdecimales,elmayorvalores+/-7,9228162514264337593543950335yelmenorvalordistintode0es+/-0,0000000000000000000000000001.

NotaEnestemomento,eltipodedatoDecimalsólosepuedeutilizarconunVariant,esdecir,nopuededeclararunavariabledetipoDecimal.Sinembargo,puedecrearuntipoVariantconsubtipoDecimalutilizandolafunciónCDec.

Double(Tipodedatos)

Lasvariablesdobles(puntoflotantededobleprecisión)sealmacenancomonúmerosIEEEdecomaflotantede64bits(8bytes)convaloresde-1.79769313486231E308a-4,94065645841247E-324paravaloresnegativosyde4,94065645841247E-324a1,79769313486232E308paravalorespositivos.ElcarácterdedeclaracióndetipoparaDoubleeselsignodenúmero(#).

Integer(Tipodedatos)

LasvariablesIntegersealmacenancomonúmerosde16bits(2bytes)convaloresquevande-32.768a32.767.ElcarácterdedeclaracióndetipoparaeltipoIntegereselsignodeporcentaje(%).

LasvariablestipoIntegertambiénsepuedenutilizarpararepresentarvaloresenumerados.Unvalorenumeradopuedecontenerunconjuntofinitodenúmerosenterosúnicos,cadaunodeloscualestieneunsignificadoespecialenelcontextoenelqueseutiliza.Losvaloresenumeradosproporcionanunaformacómodadeseleccionarentreunnúmeroconocidodeopciones.Porejemplo,

cuandosepreguntaalusuarioqueelijauncolordeunalista,sepodríatener0=negro,1=blancoyasísucesivamente.EsunabuenaprácticadeprogramacióndefinirconstantesutilizandolainstrucciónConstparacadavalorenumerado.

Long(Tipodedatos)

LasvariablesLong(enteroslargos)sealmacenancomonúmerosconsignode32bits(4bytes)conunvalorcomprendidoentre-2.147.483.648y2.147.483.647.ElcarácterdedeclaracióndetipoparaLongeselsigno&.

Object(Tipodedatos)

LasvariablesObjectsealmacenancomodireccionesde32bits(4bytes)quehacenreferenciaaobjetos.AlutilizarlainstrucciónSet,unavariabledeclaradacontipoObjectpuedetenerasignadocualquierreferenciaaunobjeto.

NotaAunqueunavariabledeclaradaconuntipoObjecteslosuficientementeflexiblecomoparacontenerunareferenciaacualquierobjeto,enlazarconelobjetoreferenciadopordichavariableesunprocesolento(enlaceentiempodeejecución).Paraforzarelenlacetemprano(enlaceentiempodecompilación),sepuedeasignarlareferenciadelobjetoaunavariabledeclaradaconunnombrede

claseespecífico.

Single(Tipodedatos)

LasvariablesSingle(puntoflotantedeprecisiónsimple)sealmacenancomonúmerosIEEEdecomaflotantede32bits(4bytes)convaloresquevande-3,402823E38a-1,401298E-45paravaloresnegativosyde1,401298E-45a3,402823E38paravalorespositivos.ElcarácterdedeclaracióndetipoparaSingleeselsignodeexclamación(!).

String(Tipodedatos)

Haydosclasesdecadenas:cadenasdelongitudvariableycadenasdelongitudfija.

Lascadenasdelongitudvariablepuedencontenerhasta2.000millonesdecaracteres(2^31).

Lascadenasdelongitudfijaquepuedencontenerde1a64KB(2^16)caracteres.NotaNosepuedeusarunacadenaPublicdelongitudfijaenunmódulodeclase.

LoscódigosparacaracteresdetipoStringvaríandesde0a255.Losprimeros128caracteres(0–127)deljuegodecaracterescorrespondenalasletrasylossímbolosdeuntecladoestándardeEE.UU.Estosprimeros128caracteressonlosmismosquelosdefinidosporeljuegodecaracteresASCII.Lossiguientes128caracteres(128–255)representancaracteresespeciales,comoletrasdealfabetosinternacionales,acentos,símbolosdemonedayfracciones.ElcarácterdedeclaracióndetipoparaStringeselsignodedólar($).

Tipodedatosdefinidoporelusuario

CualquiertipodedatosquedefinautilizandolainstrucciónType.Lostiposdedatosdefinidosporelusuariopuedencontenerunoomáselementosdecualquiertipodedatos,dematriz,odeuntipopreviamentedefinidoporelusuario.Porejemplo:

TypeMiTipo

MiNombreAsString'LavariabletipoStringalmacenaunnombre.

MiFechaNacimientoAsDate'LavariabletipoDatealmacenaunafechadenacimiento.

MiSexoAsInteger'LavariableIntegeralmacenaelsexo(0para

EndType'mujer,1parahombre).

Variant(Tipodedatos)

Varianteseltipodedatosparatodaslasvariablessinosedeclaranexplícitamentecomodealgúnotrotipo(utilizandoinstruccionescomoDim,Private,PublicoStatic).EltipodedatosVariantnotieneuncarácterdedeclaracióndetipo.

Variantesuntipodedatosespecialquepuedecontenercualquierclasededatosexceptodatosdecadenadelongitudfija(lostiposVariantadmitenahoratiposdefinidosporelusuario.)VarianttambiénpuedecontenerlosvaloresespecialesEmpty,Error,NothingyNull.PuededeterminarlaformaenquedeseatratarlosdatostipoVariantutilizandolasfuncionesVarTypeoTypeName.

Losdatosnuméricospuedensercualquiernúmeroenteroorealentre-1,797693134862315E308y-4,94066E-324paralosvaloresnegativos,yentre4,94066E-324y1,797693134862315E308paralosvalorespositivos.Generalmente,losdatostipoVariantnuméricosseconservanensutipodedatosoriginaldentrodeuntipoVariant.Porejemplo,siasignauntipoIntegerauntipoVariant,lasoperacionesposteriorestrataneltipoVariantcomosifuerauntipoInteger.Noobstante,sirealizaunaoperaciónaritméticaenuntipoVariantquecontengauntipodedatosByte,Integer,Long,oSingle,yelresultadosuperaelintervalonormaldeltipodedatosoriginal,elresultadosepromocionadentrodeltipoVarianthastaeltipodedatosmayorsiguiente.UntipoBytesepromocionaauntipoInteger,untipoIntegerauntipoLong,yuntipoLongyuntipoSinglesepromocionanauntipoDouble.SeproduceunerrorcuandolasvariablestipoVariantquecontienenvalorestipoCurrency,Decimal,yDouble

superansusintervalosrespectivos.

PuedeutilizareltipodedatosVariantenlugardecualquierotrotipodedatosparatrabajarconlosdatosdeunamaneramásflexible.SielcontenidodeunavariabletipoVariantestáformadopordígitos,puedenserlarepresentacióndecadenadelosdígitososuvalorreal,dependiendodelcontexto.Porejemplo:

DimMiVarAsVariant

MiVar=98052

Enelejemploanterior,MiVarcontieneunarepresentaciónnumérica,elvalorreal98052.LosoperadoresaritméticosfuncionandelamaneraesperadaenlasvariablestipoVariantquecontienenvaloresnuméricosodatosdecadenaquesepuedeninterpretarcomonúmeros.Siutilizaeloperador+paraagregarMiVaraotravariabletipoVariantquecontieneunnúmero,oaunavariabledeuntiponuméricos,elresultadoesunasumaaritmética.

ElvalorEmptyindicaunavariabletipoVariantquenosehainicializado(alaquenosehaasignadounvalorinicial).UnavariabletipoVariantquecontengaEmptyseconsidera0siseutilizaenuncontextonuméricoyunacadenadelongitudcero("")siseutilizaenuncontextodecadenas.

NoconfundaEmptyconNull.NullindicaquelavariabletipoVariantintencionadamentenocontieneningúndatoválido.

EnuntipoVariant,Erroresunvalorespecialutilizadoparaindicarquesehaproducidounacondicióndeerrorenunprocedimiento.Noobstante,adiferenciadeotrostiposdeerrores,noseproduceelcontroldeerroresnormalaniveldeaplicación.Estopermitealusuario,oalapropiaaplicación,seleccionarentrevariasaccionesalternativasbasándoseenelvalordeerror.LosvaloresErrorsecreanconvirtiendonúmerosrealesavaloresdeerrormediantelafunciónCVErr.

CallType(constantes)

Lassiguientesconstantespuedenutilizarseencualquierpattedelcódigoenlugardelosvaloresactuales:

Constante Valor DecripciónvbMethod 1 Indicaqueunmétodoha

sidollamado.vbGet 2 Indicaunprocedimiento

PropertyGet.vbLet 4 Indicaunprocedimiento

PropertyLet.vbSet 8 Indicaunprocedimiento

PropertySet.

Constantesdeformulario

Lassiguientesconstantespuedenutilizarseencualquierpattedelcódigoenlugardelosvaloresactuales:

Constante Valor DecripciónvbModeless 0 UserFormesnomodal.vbModal 1 UserFormesmodal

(predeterminado).

ValoresderetornodeCStr

Siexpresiónes CStrdevuelveBoolean UnacadenaquecontieneTrueoFalseDate Unacadenaquecontieneunafechaenelformatodefecha

cortadesusistemaNull UnerrorentiempodeejecuciónEmpty Unacadenadelongitudcero("")Error UnacadenaquecontienelapalabraErrorseguidadel

númerodeerrorOtronúmero Unacadenaquecontieneelnúmero

Enum(Instrucción)

Declarauntipoparaunaenumeración.

Sintaxis

[Public|Private]Enumnombre

nombre_miembro[=expresión_constante]

nombre_miembro[=expresión_constante]

...

EndEnum

LainstrucciónEnumconstadelassiguientespartes:

Parte DescripciónPublic Opcional.EspecificaqueeltipoEnumesvisibleatravés

delproyecto.EltipoEnumesPublicdemanerapredeterminada.

Private Opcional.EspecificaqueeltipoEnumesvisiblesólodentrodelmóduloenelqueaparece.

nombre Requerido.ElnombredeltipodeEnum.ElnombredebeserunidentificadorválidodeVisualBasicyse

especificacomoeltipocuandosedeclaranvariablesoparámetrosdeltipoEnum.

Nombre_miembro Requerido.UnidentificadorválidodeVisualBasicqueespecificaelnombreporelcualseconoceráunelementoconstituyentedeltipodeEnum.

Expresión_constante Opcional.Valordelelemento(evalúaparaunLong).Sinoseespecificaconstantexpression,elvalorasignadoescerozero(sieselprimermembername),o1mayorqueelvalordelmembernameinmediatamenteanterior.

Comentarios

LasvariablesdeenumeraciónsonvariablesdeclaradasconuntipoEnum.TantolasvariablescomolosparámetrospuedendeclararseconuntipodeEnum.LoselementosdeltipodeEnumseinicializanalosvaloresdeconstantesdentrodelainstrucciónEnum.Losvaloresasignadosnosepuedenmodificarentiempodeejecuciónypuedenincluirvalorespositivosynegativos.Porejemplo:

EnumSecurityLevel

IllegalEntry=-1

SecurityLevel1=0

SecurityLevel2=1

EndEnum

UnainstrucciónEnumsólopuedeaparecerenelniveldemódulo.UnavezdefinidoeltipodeEnum,puedeutilizarseparadeclararvariables,parámetrosoprocedimientosquedevuelvansutipo.NopuedecualificarelnombredeuntipoEnumconunnombredemódulo.LostiposPublicEnumdeunmódulodeclasenosonmiembrosdelaclase;sinembargo,seescribenenlabibliotecadetipos.LostiposEnumdefinidosenmódulosestándarnoseescribenenbibliotecasdetipos.LostiposPublicEnumdelmismonombrenosepuedendefinirenmódulosestándaryenmódulosdeclase,yaquecompartenelmismoespaciodenombres.CuandodostiposEnumdedistintasbibliotecasdetipostienenelmismonombreperodistintoselementos,unareferenciaaunavariabledeltipodependedelabibliotecadetiposquetengamayorprioridadenReferences.

NopuedeutilizaruntipoEnumcomodestinoenunbloqueWith.

Event(Instrucción)

Declarauneventodefinidoporelusuario.

Sintaxis

[Public]Eventnombre_procedimiento[(lista_argumentos)]

LainstrucciónEventconstadelassiguientespartes:

Parte DescripciónPublic Opcional.EspecificaqueEventseavisibleatravésdel

proyecto.LostiposEventssonPublicdeformapredeterminada.Tengaencuentaqueloseventossolamentepuedenserconducidosenelmóduloenelquesedeclaran.

nombre_procedimiento

Requerido.Nombredelevento;siguelasconvencionesestándardenombresdevariables.

Elargumentolista_argumentosconstadelasiguientessintaxisypartes:

[ByVal|ByRef]nombre_variable[()][Astipo]

Parte DescripciónByVal Opcional.Indicaqueelargumentosepasaporvalor.ByRef Opcional.Indicaqueelargumentosepasaporreferencia.

ByRefeslaopciónpredeterminadaenVisualBasic.nombre_variable

Requerido.Nombredelavariablequerepresentaelargumentoquesepasaalprocedimiento;siguelasconvencionesestándardenombresdevariables.

tipo Opcional.Eltipodedatosdelargumentoquesepasaalprocedimiento;puedeserByte,Boolean,Integer,Long,Currency,Single,Double,Decimal(noaceptadoactualmente),Date,String(sólodelongitudvariable),Object,Variant,untipodefinidoporelusuario,ountipodeobjeto.

Comentarios

Unavezdeclaradoelevento,utilicelainstrucciónRaiseEventparadesencadenarlo.SeproduciráunerrordesintaxissiunadeclaraciónEventapareceenunmóduloestándar.Uneventonosepuededeclararparadevolverunvalor.Uneventotípicopodríadeclararseydesencadenarsecomosemuestraenlossiguientesfragmentosdecódigo:

'Declarauneventoaniveldemódulodeunmódulodeclase

EventLogonCompleted(UserNameasString)

Sub

RaiseEventLogonCompleted("AntonioJara")

EndSub

NotaPuededeclararargumentosdeeventossolamenteparahacerargumentosdeprocedimientos,conlasexcepcionessiguientes:loseventosnopuedentenerargumentosconnombre,argumentosOptional,oargumentosParamArray.Loseventosnodevuelvenvalores.