Entradas

Descarga revistas yumpu.com

Imagen
Como el titulo lo dice, generé un pequeño programa que realiza descargas de las revisar publicadas en yumpu.com. Necesitaba/n un archivo que había sido subido a este portal, el brillo es que se encuentra en un ember por lo que no se puede bajar o incluso siquiera revise si se podía. De igual manera, este es el código del programa por si alguien lo quiere mejorar o bajar imágenes desde otros lados y weas. Lo que hace el programa es bajar las imágenes de cada revisar que se encuentran en una ruta especifica. Para esto se debe entregar al programa el numero de la revista que se muestra en la imagenes N° 1. También se puede ver un JSON el cual nos presenta los tamaños de las imágenes y la cantidad de archivos. Una vez descargadas las imágenes, procedemos a transformar todo en un PDF y borrar las imágenes. El programa se realizo en C# con SharpDevelop en modo consola, las librerias itextSharp y NewtonSoft Json. De no ser libres estas librerías, besitos para que me perdonen de no ser a

Actualizar tablas dinamicas

Para actualizar las tablas dinámicas lo hacer de la siguiente forma: Private Sub Actualiza_Dinamicas() 'actualiza las hojas incluyendo la tabla dinamica. Application.EnableEvents = False 'inhabilitamos eventos del excel(como el actualización automática en los cálculos) Sheets("Nombre del sheet").PivotTables("Nombre de la tabla dinamica").PivotCache.Refresh Application.EnableEvents = True 'volvemos activar luego de la ejecución del macro End Sub

Sorting Algorithm VBA

Necesitaba ordenar un valor en base a una lista de fechas ordenadas descendentes. No tenia idea como hacerlos y tampoco encontraba información al respecto. Cada vez que tengo una duda que ya no puedo solucionar, le pido ayuda a mi amigo Cristian Lizana para que me de una pista y encontrar el camino correcto. Me comentó de Sorting_algorithm  el cual respondía a mis necesidades. Implementé un código para analizar un rango que selecciono en Excel. Set rango = Application.InputBox(Prompt:="Seleccionar rango oe!!!", Title:="Seleccion de rango", Type:=8) 'Obtengo un rango seleccionado. x = 1 For i = 1 To rango.Rows.Count 'ingreso a un array todas las fechas seleccionadas. If (rango.Cells(i, 2).Value = componente) Then ReDim Preserve arrfech(x) arrfech(x) = CDate(rango.Cells(i, 1).Value) x = x + 1 End If Next i Sort ordena el array de fechas con el orden solicitado: Do Changed = False For Pointer = 1 To (Applica

XML - Download File - VBA Excel

Imagen
Tengo un archivo que es usado por distintas personas, necesito realizar una modificación a gran escala en una de las hojas. Para esto usé un archivo estándar que se encontrará online en el servidor y los archivos de las personas puedan diferenciar si tienen una versión antigua comparando el archivo estandar. Para lograr esto, en el archivo usado por el personal cree un macro que valida la versión tanto del archivo personal como del online. También se valida que tengan Internet para realizar el update. y por ultimo se valida que si no realiza la actualización, no puede usar el archivo personal. Inicio automático validación archivo personal: Sub Auto_Open() 'Ejecuta el macro cuando abrimos el archivo excel personal. GetCurrentVersionNumber End Sub Obtención de versión: Function GetCurrentVersionNumber() As String Dim doc As MSXML2.DOMDocument Dim version As String If (checkInternetConnection = True) Then 'valida conexion a internet Set

Conexión SQL Server Macro Excel

Imagen
Para realizar una conexión Excel Macro a SQL Server se realiza de la siguiente forma: Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim ConnectionString As String Dim StrQuery As String ConnectionString = "Provider=SQLOLEDB.1;Password=pass;Persist Security Info=True;User ID=usuario;Data Source=ruta_SQLSERVER;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=BASE_DE_DATOS" cnn.Open ConnectionString cnn.CommandTimeout = 900 StrQuery = "SELECT * FROM TABLA" rs.Open StrQuery, cnn 'para recorrer los datos obtenidos de la query se puede usar lo siguiente rs.MoveFirst Do While rs.EOF = False Debug.Print (rs!CampoSql) rs.MoveNext Loop rs.Close Set rs = Nothing 'Lo otro es pasar el los datos a un campo Variant de VBA para despues recorrerlo en un loop Dim valoresBD As Variant valoresBD = rs.GetRows valoresBD(1, X) cnn.

Funciones VBA Excel

Imagen
Como comenté anteriormente, en mi trabajo no cuento mas que con Excel para desarrollos. Se me solicito generar una etiqueta dinámica en base a datos en distintas sheets(hojas). Public Sub Genera() 'Funcion principal. Dim equipo As String, modelo As String, pm As String, conca As String, faena As String, horaaceite As String, rango1 As String, rango2 As String Dim i As Integer, x As Integer, contador As Integer Dim LArray() As String equipo = Sheets.Item("DATOS MANUALES").Cells(2, 4).Value pm = Sheets.Item("DATOS MANUALES").Cells(4, 4).Value horo = Sheets.Item("DATOS MANUALES").Cells(6, 4).Value fecha = Sheets.Item("DATOS MANUALES").Cells(8, 4).Value respo = Sheets.Item("DATOS MANUALES").Cells(10, 4).Value conca = BuscaModelo(equipo) LArray = Split(conca, "/") modelo = LArray(0) faena = LArray(1) serie = LArray(2) limpiar limpiarBordes borrarImagen contador = 3 For i = 2 To 5000 imodelo = Sheet

Dario APK

Hace algún tiempo, cuando andaba en locomoción colectiva, específicamente en metro de Santiago, siempre veía gente revisando el periódico nacional en sus equipos móviles,los que requiere de conexión a internet que no todos tienen o no quieren gastar. Debido a esto, se me ocurrió crear una aplicación que me permita bajar todos los archivos del periódico en cuanto tenga conexión a internet (desde mi casa antes de salir, por ejemplo). Ahora el código fuente y adjuntaré el APK. import android.app.DownloadManager; import android.content.Context; import android.net.Uri; import android.os.Environment; import android.os.PersistableBundle; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import java.io.File; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class MainActivity extends AppCompatActivity { @Over