Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/05/2008, 10:16
Avatar de David
David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 20 años
Puntos: 839
Re: Semanas por Mes

Hice un código de ejemplo, espero que pueda ayudarte con tu idea (una Macro de Excel, pero creo que también funcionará en VB6). Algo así:
Código:
 
Function Semana(vYear As Integer, NumSemana As Byte, FechaInicio As Date, FechaFin As Date) As Byte
Dim Inicio As Byte
Dim FirstWeek As Byte
Dim InitDate As Date
Inicio = Weekday(CDate("01/01/" & vYear), vbMonday)
If Inicio > 1 Then
    FirstWeek = 7 - (Inicio - 1)
End If
If NumSemana > 1 Then
    InitDate = DateSerial(vYear, 1, 1 + FirstWeek)
    FechaInicio = DateSerial(vYear, 1, Day(InitDate) + (7 * (NumSemana - 2)))
    FechaFin = DateSerial(Year(FechaInicio), Month(FechaInicio), Day(FechaInicio) + 6)
    FirstWeek = 7
    If Year(FechaFin) > vYear Then
        FechaFin = CDate("31/12/" & vYear)
        FirstWeek = DateDiff("d", FechaInicio, FechaFin) + 1
    End If
Else
    FechaInicio = CDate("01/01/" & vYear)
    FechaFin = DateSerial(vYear, 1, FirstWeek)
End If
Semana = FirstWeek
End Function
Para llamarlo haces así:
Código:
 
Dim DateInicio As Date
Dim DateFin As Date
Dim NumDias As Byte
NumDias = Semana(2008, 1, DateInicio, DateFin)
MsgBox "Número de Días: " & NumDias & vbCrLf & "Fecha de Inicio: " & DateInicio & vbCrLf & "Fecha Fin: " & DateFin
'El parámetro NumSemana puedes cambiarlo por el número de la semana de la que deseas obtener los Datos...
Espero que te ayude en algo.
Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.