user administrator /active yes
Este blog es para aportar el conocimiento en diferentes áreas de los sistemas computacionales y de la vida
miércoles, 14 de abril de 2021
Comando para información de sistema e inicio de programas en windows
Ingresa a Windows, ve a ejecutar y coloca:
Ingresa a Windows, ve a ejecutar y coloca:
¿Dónde se guardan las conversaciones de WhatsApp?
En WhatsApp tienes distintas opciones para guardar el historial de chats, aunque quizás no sepas cual es su ubicación y dónde puedes encontrarlas. Por eso hoy te vamos a mostrar dónde se guardan las conversaciones de WhatsApp.
Aunque si escoges la opción de copia en Google Drive se guardan en la nube, también se queda otra copia almacenada en el teléfono dentro de unas carpetas junto con otro tipo de archivos del propio WhatsApp, como puedes ser las fotos, los audios, etc.
Accede mediante un administrador de archivos
Para acceder a las conversaciones de WhatsApp guardadas en el teléfono debes tener un administrador de archivos instalado, como por ejemplo ES Explorador de archivos, uno de los más conocidos y utilizados.
Cómo saber si tenemos WhatsApp Web abierto en otro ordenador
Una vez instalado accede y haz lo siguiente:
Busca la ruta /sdcard/WhatsApp/Databases o similar.
El archivo o archivos concretos de las conversaciones de nuestro WhatsApp son los que tienen el nombre de "msgstore-AAAA-MM-DD.1.db.crypt12" o similar. Como podrás ver hay varios y es que WhatsApp guarda una copia todos los días durante 7 días.
Imagen - ¿Dónde se guardan las conversaciones de WhatsApp?
Por tanto esos son los archivos que debes guardar cuando no quieras perder tus conversaciones de WhatsApp o incluso cuando las quieras llevar a un teléfono nuevo. De todas formas ahora todo es mucho más sencillo con las copias en Drive porque no tienes que estar copiando nada.
Recuerda que las conversaciones no son lo único que puedes recuperar o consultar ya que puedes acceder en cualquier momento a las fotos, vídeos y hasta GIFS que te envían a ti y que también has enviado a otros contactos.
Ya conoces la ruta donde se guardan las conversaciones de WhatsApp, algo que te será de suma utilidad en un futuro cuando necesites recuperar alguna de ellas por si cambias de teléfono, aunque con la copia en Drive ya eso es prácticamente innecesario.
sábado, 22 de diciembre de 2018
Inciar Programas en windows 8
Carpeta Inicio
La forma más sencilla de ejecutar programas de inicio en Windows ha sido siempre la de la clásica carpeta de Inicio o Startup que contenía el menú de Inicio. En dos versiones, una para usuarios específicos y otra que afectaba al sistema en general, se trata de un clásico que parece haber desaparecido pero que sigue ahí. Para acceder a la carpeta debemos hacer lo siguiente:
- Abrir el dialogo Ejecutar (Windows + R)
- Introducir el texto shell:Startup
- Introducir el texto shell:Common Startup
Automáticamente estaremos en la carpeta de Inicio para nuestro usuario (primera opción) o para todos los usuarios (segunda opción, Common Startup). Utilizar la carpeta es exactamente igual que en versiones anteriores del sistema: Basta con crear accesos directos a los programas que queremos que se ejecuten en el inicio.
jueves, 1 de agosto de 2013
Borrado de Archivos en C# y VB, lectura de ruta con filestream
public void BorrarArchivos(string rutaSvr)
{
System.IO.DirectoryInfo rutaCarpeta = new DirectoryInfo(rutaSvr);
foreach (FileInfo file in rutaCarpeta.GetFiles())
{
file.Delete();
}
//foreach (DirectoryInfo dir in rutaCarpeta.GetDirectories())
//{
// dir.Delete(true);
//}
}
-------------------------------------------------------------------------
Public Function BorrarArchivos(ByVal rutaSvr As String) As Boolean Implements IRecibosWeb.BorrarArchivos
Try
Dim ObjCarpeta As Object
Dim Carpeta As Object
ObjCarpeta = CreateObject("Scripting.FileSystemObject")
Carpeta = ObjCarpeta.GetFolder(rutaSvr)
If Carpeta.Files.Count = 0 Then
Else
' File.Delete(rutaSvr)
rutaSvr = rutaSvr & "*.*"
Kill(rutaSvr)
End If
ObjCarpeta = Nothing
Carpeta = Nothing
Catch ex As Exception
'Throw ex
_error = Convert.ToString(ex).ToString()
Finally
'If data.IsConnectionOpen() Then
' data.CloseConnection()
'End If
End Try
'Return functionReturnValue
End Function
-------------------------------------------------------------------------------------------------------
Public Function GetStreamFile(ByVal filePath As String) As Stream
Using fileStream As FileStream = File.OpenRead(filePath)
Dim memStream As New MemoryStream()
memStream.SetLength(fileStream.Length)
fileStream.Read(memStream.GetBuffer(), 0, CInt(fileStream.Length))
Return memStream
End Using
End Function
public Stream GetStreamFile(string filePath)
{
using (FileStream fileStream = File.OpenRead(filePath))
{
MemoryStream memStream = new MemoryStream();
memStream.SetLength(fileStream.Length);
fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
return memStream;
}
}
{
System.IO.DirectoryInfo rutaCarpeta = new DirectoryInfo(rutaSvr);
foreach (FileInfo file in rutaCarpeta.GetFiles())
{
file.Delete();
}
//foreach (DirectoryInfo dir in rutaCarpeta.GetDirectories())
//{
// dir.Delete(true);
//}
}
-------------------------------------------------------------------------
Public Function BorrarArchivos(ByVal rutaSvr As String) As Boolean Implements IRecibosWeb.BorrarArchivos
Try
Dim ObjCarpeta As Object
Dim Carpeta As Object
ObjCarpeta = CreateObject("Scripting.FileSystemObject")
Carpeta = ObjCarpeta.GetFolder(rutaSvr)
If Carpeta.Files.Count = 0 Then
Else
' File.Delete(rutaSvr)
rutaSvr = rutaSvr & "*.*"
Kill(rutaSvr)
End If
ObjCarpeta = Nothing
Carpeta = Nothing
Catch ex As Exception
'Throw ex
_error = Convert.ToString(ex).ToString()
Finally
'If data.IsConnectionOpen() Then
' data.CloseConnection()
'End If
End Try
'Return functionReturnValue
End Function
-------------------------------------------------------------------------------------------------------
Public Function GetStreamFile(ByVal filePath As String) As Stream
Using fileStream As FileStream = File.OpenRead(filePath)
Dim memStream As New MemoryStream()
memStream.SetLength(fileStream.Length)
fileStream.Read(memStream.GetBuffer(), 0, CInt(fileStream.Length))
Return memStream
End Using
End Function
public Stream GetStreamFile(string filePath)
{
using (FileStream fileStream = File.OpenRead(filePath))
{
MemoryStream memStream = new MemoryStream();
memStream.SetLength(fileStream.Length);
fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);
return memStream;
}
}
jueves, 18 de julio de 2013
SessionTimeout javascript
<script type="text/javascript">
var _sessionTimeout = 0;
var _timerID;
function DisplaySessionTimeout(setTimer) {
//if session is not less than 0
if (_sessionTimeout >= 0) {
//call the function again after 1 minute delay
if (setTimer) {
_timerID = window.setTimeout("DisplaySessionTimeout('true')", 60000);
if (_sessionTimeout == 0)
document.getElementById("dvTiempoOperacion").innerHTML = " menos de un minuto ";
else {
if (document.getElementById("dvTiempoOperacion"))
document.getElementById("dvTiempoOperacion").innerHTML = " " + (_sessionTimeout) + " minutos";
}
}
else {
window.status = "Listo."
_sessionTimeout = 5;
}
}
else {
alert("Estimado Usuario:\r\nSu pago NO fue realizado.\r\nEl tiempo para realizar la operación ha finalizado.\r\nSe redireccionará a la pagina inicial para intentar nuevamente.");
window.location = document.getElementById("ctl00_ContentPlaceHolder1_hURL").value;
}
//assigning minutes left to session timeout to Label
_sessionTimeout = _sessionTimeout - 1;
}
function botonContinuar_onclick() {
UpdatePanel1.update();
}
function my_onkeydown_handler() {
switch (event.keyCode) {
case 116: // 'F5'
event.returnValue = false;
event.keyCode = 0;
window.status = "Tecla F5 deshabilitada.";
break;
}
}
function openBrWindow(theURL, winName, features) {
window.open(theURL, winName, features);
}
function isanumber(s) {
if ((s == '') || (s == '\t') || (s == '\n')) return false;
for (var i = 0; i < s.length; i++) {
var c = s.charAt(i);
var n = parseInt(c);
if (isNaN(n)) return false;
}
return true;
}
function validStringToPayworks(parameterValue) {
var validParameter = "";
validParameter = parameterValue.toUpperCase();
validParameter = validParameter.replace(/Ñ/g, 'N');
validParameter = validParameter.replace(/Ü/g, 'U');
validParameter = validParameter.replace(/Á/g, 'A');
validParameter = validParameter.replace(/É/g, 'E');
validParameter = validParameter.replace(/Í/g, 'I');
validParameter = validParameter.replace(/Ó/g, 'O');
validParameter = validParameter.replace(/Ú/g, 'U');
return validParameter;
}
function Validar() {
var form = document.forms[0];
//document.forms[1].Expires.value = document.forma.month.value + "/" + document.forma.year.value;
var NotEmpty_transaction_billToFirstName = "El nombre es requerido, validar con el comercio afiliado";
var NotEmpty_transaction_concept = "El concepto es requerido, validar con el comercio afiliado";
var NotEmpty_transaction_cvv2Val = "Capture el c\u00f3digo de validaci\u00f3n de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_month = "Seleccione el mes de la fecha de vencimiento";
var NotEmpty_transaction_number = "Capture el n\u00famero de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_orderId = "La referencia es requerida, validar con el comercio afiliado";
var NotEmpty_transaction_shipToFirstName = "Capture el titular de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_year = "Seleccione el a\u00f1o de la fecha de vencimiento";
var Digits_transaction_cvv2Val = "El c\u00f3digo de validaci\u00f3n de la tarjeta de cr\u00e9dito debe ser un valor num\u00e9rico";
var Digits_transaction_number = "El n\u00famero de la tarjeta de cr\u00e9dito debe ser un valor num\u00e9rico de 16 d\u00edgitos";
var Size_transaction_number = "El n\u00famero de la tarjeta de cr\u00e9dito debe tener una longitud de 16 d\u00edgitos";
var NotEmpty_mail_or_sms = "Por favor capture al menos correo electr\u00f3nico y/o un numero celular para recibir la confirmaci\u00f3n de su pago.";
var Valid_Email = "Por favor capture un correo electr\u00f3nico v\u00e1lido.";
var Size_sms_number = "El n\u00famero del celular debe tener una longitud de 10 d\u00edgitos";
var lang = "null";
if (lang == "en") {
NotEmpty_transaction_billToFirstName = "Name is required, verify with affiliated commerce";
NotEmpty_transaction_concept = "Concept is required, verify with affiliated commerce";
NotEmpty_transaction_cvv2Val = "Enter card verification value";
NotEmpty_transaction_month = "Select expiration month";
NotEmpty_transaction_number = "Enter credit card number";
NotEmpty_transaction_orderId = "Transaction is required, verify with affiliated commerce";
NotEmpty_transaction_shipToFirstName = "Enter credit cardholder's name";
NotEmpty_transaction_year = "Select expiration year";
Digits_transaction_cvv2Val = "Card verification value must be a numeric value";
Digits_transaction_number = "Credit card number must be a 16 digit numeric value";
Size_transaction_number = "Credit card number must be 16 digit length";
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value == "") {
alert(NotEmpty_transaction_shipToFirstName);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].focus();
return false;
}
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value = validStringToPayworks(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value);
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value == "") {
alert(NotEmpty_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (!isanumber(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value)) {
alert(Digits_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value.length < 16) {
alert(Size_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].selectedIndex].value == "0") {
alert(NotEmpty_transaction_month);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].selectedIndex].value == "0") {
alert(NotEmpty_transaction_year);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].value == "") {
alert(NotEmpty_transaction_cvv2Val);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value == "" && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value == "") {
alert(NotEmpty_mail_or_sms);
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value == "")
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].focus();
else
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].focus();
return false;
}
if (!validateEmail(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value) && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value != "") {
alert(Valid_Email);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value.length < 10 && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value != "") {
alert(Size_sms_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].focus();
return false;
}
if (!isanumber(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].value)) {
alert(Digits_transaction_cvv2Val);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].focus();
return false;
}
return true;
}
function checkPlanType() {
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_19'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_19'].selectedIndex].value == "0") {
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_20'].display = none;
}
else {
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_20'].display = '';
}
}
window.history.forward(1);
document.attachEvent("onkeydown", my_onkeydown_handler);
</script>
var _sessionTimeout = 0;
var _timerID;
function DisplaySessionTimeout(setTimer) {
//if session is not less than 0
if (_sessionTimeout >= 0) {
//call the function again after 1 minute delay
if (setTimer) {
_timerID = window.setTimeout("DisplaySessionTimeout('true')", 60000);
if (_sessionTimeout == 0)
document.getElementById("dvTiempoOperacion").innerHTML = " menos de un minuto ";
else {
if (document.getElementById("dvTiempoOperacion"))
document.getElementById("dvTiempoOperacion").innerHTML = " " + (_sessionTimeout) + " minutos";
}
}
else {
window.status = "Listo."
_sessionTimeout = 5;
}
}
else {
alert("Estimado Usuario:\r\nSu pago NO fue realizado.\r\nEl tiempo para realizar la operación ha finalizado.\r\nSe redireccionará a la pagina inicial para intentar nuevamente.");
window.location = document.getElementById("ctl00_ContentPlaceHolder1_hURL").value;
}
//assigning minutes left to session timeout to Label
_sessionTimeout = _sessionTimeout - 1;
}
function botonContinuar_onclick() {
UpdatePanel1.update();
}
function my_onkeydown_handler() {
switch (event.keyCode) {
case 116: // 'F5'
event.returnValue = false;
event.keyCode = 0;
window.status = "Tecla F5 deshabilitada.";
break;
}
}
function openBrWindow(theURL, winName, features) {
window.open(theURL, winName, features);
}
function isanumber(s) {
if ((s == '') || (s == '\t') || (s == '\n')) return false;
for (var i = 0; i < s.length; i++) {
var c = s.charAt(i);
var n = parseInt(c);
if (isNaN(n)) return false;
}
return true;
}
function validStringToPayworks(parameterValue) {
var validParameter = "";
validParameter = parameterValue.toUpperCase();
validParameter = validParameter.replace(/Ñ/g, 'N');
validParameter = validParameter.replace(/Ü/g, 'U');
validParameter = validParameter.replace(/Á/g, 'A');
validParameter = validParameter.replace(/É/g, 'E');
validParameter = validParameter.replace(/Í/g, 'I');
validParameter = validParameter.replace(/Ó/g, 'O');
validParameter = validParameter.replace(/Ú/g, 'U');
return validParameter;
}
function Validar() {
var form = document.forms[0];
//document.forms[1].Expires.value = document.forma.month.value + "/" + document.forma.year.value;
var NotEmpty_transaction_billToFirstName = "El nombre es requerido, validar con el comercio afiliado";
var NotEmpty_transaction_concept = "El concepto es requerido, validar con el comercio afiliado";
var NotEmpty_transaction_cvv2Val = "Capture el c\u00f3digo de validaci\u00f3n de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_month = "Seleccione el mes de la fecha de vencimiento";
var NotEmpty_transaction_number = "Capture el n\u00famero de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_orderId = "La referencia es requerida, validar con el comercio afiliado";
var NotEmpty_transaction_shipToFirstName = "Capture el titular de la tarjeta de cr\u00e9dito";
var NotEmpty_transaction_year = "Seleccione el a\u00f1o de la fecha de vencimiento";
var Digits_transaction_cvv2Val = "El c\u00f3digo de validaci\u00f3n de la tarjeta de cr\u00e9dito debe ser un valor num\u00e9rico";
var Digits_transaction_number = "El n\u00famero de la tarjeta de cr\u00e9dito debe ser un valor num\u00e9rico de 16 d\u00edgitos";
var Size_transaction_number = "El n\u00famero de la tarjeta de cr\u00e9dito debe tener una longitud de 16 d\u00edgitos";
var NotEmpty_mail_or_sms = "Por favor capture al menos correo electr\u00f3nico y/o un numero celular para recibir la confirmaci\u00f3n de su pago.";
var Valid_Email = "Por favor capture un correo electr\u00f3nico v\u00e1lido.";
var Size_sms_number = "El n\u00famero del celular debe tener una longitud de 10 d\u00edgitos";
var lang = "null";
if (lang == "en") {
NotEmpty_transaction_billToFirstName = "Name is required, verify with affiliated commerce";
NotEmpty_transaction_concept = "Concept is required, verify with affiliated commerce";
NotEmpty_transaction_cvv2Val = "Enter card verification value";
NotEmpty_transaction_month = "Select expiration month";
NotEmpty_transaction_number = "Enter credit card number";
NotEmpty_transaction_orderId = "Transaction is required, verify with affiliated commerce";
NotEmpty_transaction_shipToFirstName = "Enter credit cardholder's name";
NotEmpty_transaction_year = "Select expiration year";
Digits_transaction_cvv2Val = "Card verification value must be a numeric value";
Digits_transaction_number = "Credit card number must be a 16 digit numeric value";
Size_transaction_number = "Credit card number must be 16 digit length";
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value == "") {
alert(NotEmpty_transaction_shipToFirstName);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].focus();
return false;
}
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value = validStringToPayworks(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtTarjetaAbiente'].value);
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value == "") {
alert(NotEmpty_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (!isanumber(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value)) {
alert(Digits_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].value.length < 16) {
alert(Size_transaction_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_3'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].selectedIndex].value == "0") {
alert(NotEmpty_transaction_month);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_month'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].selectedIndex].value == "0") {
alert(NotEmpty_transaction_year);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_year'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].value == "") {
alert(NotEmpty_transaction_cvv2Val);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value == "" && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value == "") {
alert(NotEmpty_mail_or_sms);
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value == "")
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].focus();
else
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].focus();
return false;
}
if (!validateEmail(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value) && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].value != "") {
alert(Valid_Email);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtCorreoElectronico'].focus();
return false;
}
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value.length < 10 && document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].value != "") {
alert(Size_sms_number);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtNumeroSMS'].focus();
return false;
}
if (!isanumber(document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].value)) {
alert(Digits_transaction_cvv2Val);
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_txtVal_5'].focus();
return false;
}
return true;
}
function checkPlanType() {
if (document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_19'].options[document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_19'].selectedIndex].value == "0") {
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_20'].display = none;
}
else {
document.forms[0]['ctl00_ContentPlaceHolder1_dataPayment_ddlVal_20'].display = '';
}
}
window.history.forward(1);
document.attachEvent("onkeydown", my_onkeydown_handler);
</script>
jueves, 11 de julio de 2013
Srcipt manager para mandar mensajes y ejecutar funciones javascript en asp
Este codigo es code-behind para ejecutar una funcion en el asp
ScriptManager.RegisterStartupScript(this, this.GetType(), "err_msg", "javascript:exportmasterfile();", true);
Este es codigo code-behind para mandar alertas
Msg = "Seleccione su ruta para descargar el archivo, POR FAVOR ";
//ScriptManager.RegisterStartupScript(Me, Me.GetType(), "err_msg", "alert('" + Msg + "');", True)
ScriptManager.RegisterStartupScript(this, this.GetType(), "err_msg", "javascript:exportmasterfile();", true);
Este es codigo code-behind para mandar alertas
Msg = "Seleccione su ruta para descargar el archivo, POR FAVOR ";
//ScriptManager.RegisterStartupScript(Me, Me.GetType(), "err_msg", "alert('" + Msg + "');", True)
martes, 2 de julio de 2013
Funcion javascript para abrir pagina html y cerrar la maestra
window.showModalDialog("news.html", "argumentos", "dialogHeight: 280px; dialogWidth: 280px; dialogTop: 100px; dialogLeft: 100px; center: no; resizable: no; status: no;");
<script type="text/javascript">
function url() {
hidden = open('frmEnvioFact.aspx','NewWindow','center=50, top =50 , width=450,height=600,status=yes,resizable=no,scrollbars=no');
window.open("","_parent","");
var ventana = window.self;
ventana.opener = window.self;
ventana.close();
}
</script>
-------------------------------------------------------
<SCRIPT LANGUAGE="JavaScript">
function url() {
hidden = open('frmEnvioFact.aspx','NewWindow','center=50, top =50 , width=450,height=600,status=yes,resizable=yes,scrollbars=yes');
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function url() {
hidden = open('frmEnvioFact.aspx','NewWindow','center=50, top =50 , width=450,height=600,status=no,resizable=no,scrollbars=no');
}
</SCRIPT>
lunes, 22 de abril de 2013
Niveles de Acceso en Visual Basic
Niveles de Acceso en Visual Basic
El nivel de acceso de un elemento declarado es la extensión de la capacidad de acceso a él; es decir, qué código tiene permiso para leer o escribir en él. Está determinado no solamente por cómo se declara el propio elemento, sino también por la nivel de acceso del contenedor del elemento. El código que no puede tener acceso a un elemento contenedor no puede tener acceso a ninguno de sus elementos contenedores, incluso aquéllos declarados como Public. Por ejemplo, una variable Public de una estructura Private está accesible desde el interior de la clase que contiene la estructura, pero no desde el exterior.
Public
La palabra clave Public (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles desde un código en cualquier parte del mismo proyecto, desde otros proyectos que hagan referencia al proyecto y desde un ensamblado generado a partir del proyecto. El código siguiente muestra un ejemplo de declaración Public.
Public Class classForEverybody
Puede utilizar Public solamente en el nivel de módulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento público en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, clase o estructura, pero no dentro de un procedimiento.
Protected
La palabra clave Protected (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles solamente desde dentro de la misma clase o desde una clase derivada de ella. El código siguiente muestra un ejemplo de declaración Protected.
Protected Class classForMyHeirs
Sólo puede utilizar Protected en el nivel de clase y sólo al declarar un miembro de una clase. Esto es, puede declarar un elemento protegido en una clase, pero no en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, estructura o procedimiento.
Friend
La palabra clave Friend (Visual Basic) en la instrucción de declaración especifica que los elementos son accesibles desde dentro del mismo ensamblado, pero no desde fuera del ensamblado. El código siguiente muestra un ejemplo de declaración Friend.
Friend stringForThisProject As String
Puede utilizar Friend solamente en el nivel de módulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento de tipo amigo en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, clase o estructura, pero no dentro de un procedimiento.
Protected Friend
Las palabras clave Protected y Friend especifican juntos en la instrucción de declaración que los elementos son accesibles desde las clases derivadas o desde dentro del mismo ensamblado o ambos. El código siguiente muestra un ejemplo de declaración Protected Friend.
Protected Friend stringForProjectAndHeirs As String
Sólo puede utilizar Protected Friend en el nivel de clase y sólo al declarar un miembro de una clase. Esto es, puede declarar un elemento de tipo amigo protegido en una clase, pero no en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, estructura o procedimiento.
Private
La palabra clave Private (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles solamente desde dentro del mismo módulo, clase o estructura. El código siguiente muestra un ejemplo de declaración Private.
Private numberForMeOnly As Integer
Sólo puede utilizar Private en el nivel de módulo. Esto es, puede declarar un elemento privado dentro de un módulo, clase o estructura, pero no en el nivel de archivo de código fuente o de nombre de espacio, dentro de una interfaz o un procedimiento.
En el nivel de módulo, la instrucción Dim sin ninguna palabra clave de nivel de acceso es equivalente a una declaración Private. No obstante, podría convenirle usar la palabra clave Private para facilitar la lectura y la interpretación del código.
El nivel de acceso de un elemento declarado es la extensión de la capacidad de acceso a él; es decir, qué código tiene permiso para leer o escribir en él. Está determinado no solamente por cómo se declara el propio elemento, sino también por la nivel de acceso del contenedor del elemento. El código que no puede tener acceso a un elemento contenedor no puede tener acceso a ninguno de sus elementos contenedores, incluso aquéllos declarados como Public. Por ejemplo, una variable Public de una estructura Private está accesible desde el interior de la clase que contiene la estructura, pero no desde el exterior.
Public
La palabra clave Public (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles desde un código en cualquier parte del mismo proyecto, desde otros proyectos que hagan referencia al proyecto y desde un ensamblado generado a partir del proyecto. El código siguiente muestra un ejemplo de declaración Public.
Public Class classForEverybody
Puede utilizar Public solamente en el nivel de módulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento público en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, clase o estructura, pero no dentro de un procedimiento.
Protected
La palabra clave Protected (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles solamente desde dentro de la misma clase o desde una clase derivada de ella. El código siguiente muestra un ejemplo de declaración Protected.
Protected Class classForMyHeirs
Sólo puede utilizar Protected en el nivel de clase y sólo al declarar un miembro de una clase. Esto es, puede declarar un elemento protegido en una clase, pero no en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, estructura o procedimiento.
Friend
La palabra clave Friend (Visual Basic) en la instrucción de declaración especifica que los elementos son accesibles desde dentro del mismo ensamblado, pero no desde fuera del ensamblado. El código siguiente muestra un ejemplo de declaración Friend.
Friend stringForThisProject As String
Puede utilizar Friend solamente en el nivel de módulo, interfaz o espacio de nombres. Esto es, puede declarar un elemento de tipo amigo en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, clase o estructura, pero no dentro de un procedimiento.
Protected Friend
Las palabras clave Protected y Friend especifican juntos en la instrucción de declaración que los elementos son accesibles desde las clases derivadas o desde dentro del mismo ensamblado o ambos. El código siguiente muestra un ejemplo de declaración Protected Friend.
Protected Friend stringForProjectAndHeirs As String
Sólo puede utilizar Protected Friend en el nivel de clase y sólo al declarar un miembro de una clase. Esto es, puede declarar un elemento de tipo amigo protegido en una clase, pero no en el nivel de archivo de código fuente o de nombre de espacio, o dentro de una interfaz, módulo, estructura o procedimiento.
Private
La palabra clave Private (Visual Basic) de la instrucción de declaración especifica que los elementos son accesibles solamente desde dentro del mismo módulo, clase o estructura. El código siguiente muestra un ejemplo de declaración Private.
Private numberForMeOnly As Integer
Sólo puede utilizar Private en el nivel de módulo. Esto es, puede declarar un elemento privado dentro de un módulo, clase o estructura, pero no en el nivel de archivo de código fuente o de nombre de espacio, dentro de una interfaz o un procedimiento.
En el nivel de módulo, la instrucción Dim sin ninguna palabra clave de nivel de acceso es equivalente a una declaración Private. No obstante, podría convenirle usar la palabra clave Private para facilitar la lectura y la interpretación del código.
miércoles, 13 de julio de 2011
GridView anidado en ASP .Net
En ocasiones, en nuestras aplicaciones web con ASP .Net necesitamos mostrar datos en una cuadricula pero agrupando algunos registros. Algo así como el típico caso de Maestro Detalle, pero el detalle dentro de la misma grilla. En ASP .Net esto se resuelve fácilmente con el control GridView, para obtener el resultado siguente:
El gráfico anterior muestra a un GridView que muestra los datos como maestro detalle. Ahora veremos como es posible hacer esto en una aplicación.
En el caso anterior, la grilla principal tiene 3 columnas, una para el Id. Cat., la segunda para la Categoría y la tercera, será un Template que contendrá otro GridView en su ItemTemplate, esa es la parte fácil; la parte más fácil se da en el evento RowDataBound del GridView principal, ya que este evento se ejecuta cada vez que se enlaza una fila del gridview a los datos que mostrará.
Ya en este evento lo que se debe hacer es simplemente crear una vista de la tabla de detalle filtrando los datos que necesitamos por el id de la tabla maestro. Para poder acceder al GridView que se encuentra en la tercera columnna de la grilla principal simplemente aplicamos una conversión del objeto en la coluna correspondiente, tal y como se muestra en la linea:
Y el título de las cabeceras? Pues eso es mas fácil aún, se trata de dibujar la tabla HTML dentro de las etiquetas HeaderTemplate de la tercera columna y listo!
Espero que les sea de utilidad.
En el caso anterior, la grilla principal tiene 3 columnas, una para el Id. Cat., la segunda para la Categoría y la tercera, será un Template que contendrá otro GridView en su ItemTemplate, esa es la parte fácil; la parte más fácil se da en el evento RowDataBound del GridView principal, ya que este evento se ejecuta cada vez que se enlaza una fila del gridview a los datos que mostrará.
GridView gdv = (GridView)e.Row.Cells[2].FindControl(“gdvProductos”);Hay que considerar que el evento RowDataBoundse ejecuta segun la cantidad de registros que se muestran en el GirdView es decir, si tu GridView tiene 10 filas, este evento se ejecutará 10 veces.
Y el título de las cabeceras? Pues eso es mas fácil aún, se trata de dibujar la tabla HTML dentro de las etiquetas HeaderTemplate de la tercera columna y listo!
Espero que les sea de utilidad.
martes, 12 de julio de 2011
Leer un archivo de texto mediante System.IO y Visual C# .NET
Leer archivos de texto en Visual C# .NET
La apertura y lectura de archivos para el acceso de lectura es una parte importante de la funcionalidad de entrada y salida (ES), incluso si no necesita escribir en el archivo en cuestión. En este ejemplo se abre un archivo para su lectura, lo que resulta útil para leer archivos de texto, pero que es inapropiado en el caso de archivos binarios. En este ejemplo se utiliza uno de los varios métodos disponibles para abrir el archivo. Aunque muchas de las estructuras de datos están disponibles para almacenar información que se recupera del archivo, la clase ArrayList es la estructura más fácil de utilizar. Para abrir y leer el archivo, en este ejemplo se utilizan objetos del espacio de nombres System.IO, en concreto la clase System.IO.StreamReader.NOTA: en este ejemplo se requiere una forma determinada de archivo de texto (.txt) desde la que leer.
Para cargar y leer un archivo de texto desde Visual C# .NET, siga estos pasos:
- Abra Visual Studio .NET. Cree una nueva aplicación de consola en C#. Visual Studio crea una Clase estática y un procedimiento Main() vacío.
- Asegúrese de que el proyecto hace referencia al menos al espacio de nombres System. Utilice la instrucción using en los espacios de nombres System, System.IO y System.Collections de forma que no tenga que calificar las declaraciones de esos espacios de nombres más adelante en el código. Debe utilizar estas instrucciones antes que cualquier otra declaración.
using System; using System.IO; using System.Collections;
- Para abrir un archivo y leerlo, cree una nueva instancia de un objeto StreamReader y pase la ruta del archivo en el constructor de la siguiente manera:
StreamReader objReader = new StreamReader("c:\\test.txt"); - Necesitará una variable de cadena en la que almacenar cada una de las líneas del archivo a medida que avanza en el proceso. Puesto que agregará estas líneas a un objeto ArrayList, debe declarar y crear un objeto de este tipo también.
string sLine=""; ArrayList arrText = new ArrayList();
- Existen varios métodos para leer el archivo, incluido el método ReadToEnd que lee todo el archivo de una vez. Sin embargo, para este ejemplo, puede utilizar el método ReadLine para que las líneas del archivo se muestren de una en una. Al llegar al final del archivo, este método devuelve un valor nulo, lo que permite terminar el bucle. Mientras lee cada línea del archivo, puede utilizar el método Add de ArrayList para insertar las líneas en la clase ArrayList.
while (sLine != null) { sLine = objReader.ReadLine(); if (sLine != null) arrText.Add(sLine); } objReader.Close(); - Utilice un bucle For Each para escribir el contenido del objeto ArrayList recién relleno en la consola de la siguiente manera:
foreach (string sOutput in arrText) Console.WriteLine(sOutput); Console.ReadLine();
- Guarde y ejecute el código, que genera un listado del archivo en la consola.
Lista completa de código
using System;
using System.IO;
using System.Collections;
namespace TextFileReader_csharp
{
/// <summary>
/// Descripción de resumen para Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
StreamReader objReader = new StreamReader("c:\\test.txt");
string sLine="";
ArrayList arrText = new ArrayList();
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrText.Add(sLine);
}
objReader.Close();
foreach (string sOutput in arrText)
Console.WriteLine(sOutput);
Console.ReadLine();
}
}
}Errores
Debe prestar atención a varios elementos a la hora de trabajar con la E/S de archivos, entre ellos los siguientes:- Cada vez que tenga acceso a un archivo, existe la posibilidad de que el archivo que está intentando leer o en el que intenta escribir no se encuentre en el sistema o esté en uso.
- En este ejemplo se inserta todo el archivo en la memoria antes de que ésta lo procese. Puede encontrarse con una situación en la que el archivo sea demasiado grande para guardarlo en memoria, o puede que no tenga permisos para obtener acceso al archivo.
Cómo agregar o restar la hora con un tipo de datos DateTime
En este artículo se describe cómo agregar o restar la hora con un campo DateTime. Tiempo en segundos, se puede agregar o restar con un campo de tipo de datos DateTime. Tiempo lleva a través de segundos minutos horas días a años. No hay ajustes en este ejemplo para un año bisiesto. Éste es un ejemplo y desea agregar funcionalidad adicional si los cálculos de tiempo son una gran parte de la aplicación.
Al agregar o restar la hora con un campo DateTime, se calcularán los valores par...
Al agregar o restar la hora con un campo DateTime, se calcularán los valores para sumar o restar con segundos.
Ejemplo para agregar una hora:- o bien -
Ejemplo restar una semana:
Ejemplo para agregar una hora:
HourFromNow = Datetime() + 3600
Ejemplo restar una semana:
WeekAgo = Datetime() - (7*24*3600)
Problemas con acentos al leer ficheros texto C#
Al leer ficheros de texto cuando aparecen letras con acento o 'ñ' no me los
reconoce y los ignora,
como se puede corregir esto ??
En la instrucción que abre el fichero tienes que especificar el tipo de
codificación con el que está grabado, ya que las eñes y otros caracteres
especiales tienen distinto código dependiendo del juego de caracteres que se
use. Por ejemplo, si usas un StreamReader para leer el fichero:
StreamReader sr = new StreamReader(fichero,
System.Text.Encoding.GetEncoding(1252));
string contenido = sr.ReadToEnd();
sr.Close();
Aquí hemos usado el encoding 1252 que es el más habitual de Windows,
pero si tu fichero tiene otra codificación, por ejemplo, UTF-8, tendrás que
poner el Encoding que corresponda (System.Text.Encoding.UTF8).
reconoce y los ignora,
como se puede corregir esto ??
En la instrucción que abre el fichero tienes que especificar el tipo de
codificación con el que está grabado, ya que las eñes y otros caracteres
especiales tienen distinto código dependiendo del juego de caracteres que se
use. Por ejemplo, si usas un StreamReader para leer el fichero:
StreamReader sr = new StreamReader(fichero,
System.Text.Encoding.GetEncoding(1252));
string contenido = sr.ReadToEnd();
sr.Close();
Aquí hemos usado el encoding 1252 que es el más habitual de Windows,
pero si tu fichero tiene otra codificación, por ejemplo, UTF-8, tendrás que
poner el Encoding que corresponda (System.Text.Encoding.UTF8).
Leer un fichero de texto en C# .NET reconociendo tildes (acentos) y otros signos especiales
Esto consiste en un proceso muy sencillo pero se nos puede complicar si somos algo novatos o venimos de Java y estamos acostumbrados a lo fácil.
Para empezar, C# .NET posee un mecanismo de lectura de ficheros de texto muy eficiente, siendo éste el siguiente:
El problema viene si al llevar a cabo el proceso de lectura, podemos observar que los string resultado no incorporan caracteres especiales como por ejemplo las tildes y acentos de otro tipo.
La causa de este problema es que el descriptor que hemos utilizado anteriormente sólo reconoce ficheros con codificación UTF-8 (por defecto), por lo que la entrada debe estar codificada de este modo. ¿entonces, cómo podemos convertir nuestro fichero de texto de toda la vida a UTF-8?
Pues muy sencillo: tomamos un editor básico de texto (bloc de notas de windows o similares), abrimos nuestro fichero, seleccionamos la opción de guardar como... y en el campo referente a codificación seleccionaremos utf-8
----------------
StreamReader Lector = new StreamReader(DireccionDeArchivo, Encoding.Default);
Para empezar, C# .NET posee un mecanismo de lectura de ficheros de texto muy eficiente, siendo éste el siguiente:
// Método para procesar un fichero public void procesarFichero() { // Definimos un StreamReader StreamReader lector; string linea = ""; try{ lector = File.OpenText(fichero); // Lee linea a linea while ( (linea = lector.ReadLine()) != null){ //hacemos lo que queramos } // Cerramos la conexion lector.Close(); } catch (Exception e){ System.Console.WriteLine("Problemas al cargar el fichero.{0}", e); } }
El problema viene si al llevar a cabo el proceso de lectura, podemos observar que los string resultado no incorporan caracteres especiales como por ejemplo las tildes y acentos de otro tipo.
La causa de este problema es que el descriptor que hemos utilizado anteriormente sólo reconoce ficheros con codificación UTF-8 (por defecto), por lo que la entrada debe estar codificada de este modo. ¿entonces, cómo podemos convertir nuestro fichero de texto de toda la vida a UTF-8?
Pues muy sencillo: tomamos un editor básico de texto (bloc de notas de windows o similares), abrimos nuestro fichero, seleccionamos la opción de guardar como... y en el campo referente a codificación seleccionaremos utf-8
----------------
StreamReader Lector = new StreamReader(DireccionDeArchivo, Encoding.Default);
Validando los TextBox (Solo letras) y (Solo Números)
Este código nos muestra como validar el TextBox1 para que acepte solo letras y como validar el TextBox2 para que acepte solo números.
En Visual Studio .NET abra un nuevo proyecto de VisualBasic .NET
Seleccionando la plantilla de Aplicación para Windows
En el Form1 que se crea automáticamente agregue dos TextBox
No les cambie el nombre Deben de quedar como TextBox1 y TextBox2
Luego valla al código del Form1 y agregue las siguientes líneas:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As _ System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf e.KeyChar.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Listo ahora puede ejecutar su proyecto con F5 y probar la aplicación.
NOTA:
Si desea que en el TextBox1 aparezcan las letras solo en MAYUSCULAS o minúsculas solo
tiene que cambiar la propiedad CharacterCasing del TextBox1
Me.TextBox1.CharacterCasing = CharacterCasing.Upper 'para MAYUSCULASMe.TextBox1.CharacterCasing = CharacterCasing.Lower 'para minúsculas
o
Me.TextBox1.CharacterCasing = CharacterCasing.Normal
limpiar un gridview
Coloca esto al final de tu codigo , donde quieras limpiar el grid y listo
gridview.databind()
gridview.databind()
Como extraer datos de excel a visual basic y viceversa
Podemos usar un control Dirlistbox para ubicar el archivo Excel.
Dim Libxl As Object
Dim Archw As String
Dim Hojaw As String
Hojaw = "Hoja1"
Archw = File1
Set Libxl = GetObject(Dir1.Path & "\" & Archw)
'Libxl.Application.Visible = True
Libxl.Application.Windows(Archw).Activate
Libxl.Application.Sheets(Hojaw).Activate
' Aquí movemos de Excel a formulario
' Fila 1 col 3 o sea celda C1
Text1 = Libxl.Application.Cells(1, 3)
' Para mover al libro
Libxl.Application.Cells(45, 9).Value = Text1
Libxl.Application.Save
Set Libxl = Nothing
Suerte !
Dim Libxl As Object
Dim Archw As String
Dim Hojaw As String
Hojaw = "Hoja1"
Archw = File1
Set Libxl = GetObject(Dir1.Path & "\" & Archw)
'Libxl.Application.Visible = True
Libxl.Application.Windows(Archw).Activate
Libxl.Application.Sheets(Hojaw).Activate
' Aquí movemos de Excel a formulario
' Fila 1 col 3 o sea celda C1
Text1 = Libxl.Application.Cells(1, 3)
' Para mover al libro
Libxl.Application.Cells(45, 9).Value = Text1
Libxl.Application.Save
Set Libxl = Nothing
Suerte !
Suscribirse a:
Entradas (Atom)

