Just nu i M3-nätverket
Jump to content

Locutus

Medlem
  • Content count

    66
  • Joined

  • Last visited

  1. Tack för svaret, jag nämnde nog inte att jag är väldigt ringrostig i både PHP och mySQL. Den funktionen du föreslår ger en array. Finns det ingen funktion eller enkelt sätt att omvandla datum-tid i en string till olika format? "20171201T162000Z" är vad jag förstått i format UTC, stämmer det?
  2. Hej Jag försöker göra en PHP-sida som lägger in värden från en .vcs eller .ics kalenderfil i en databastabell. Jag har fått ut värdena jag behöver via php-script. DTSTART är i formatet 20171201T162000Z Problemet jag har, är att få in det i MySQL databastabellen, jag har provat både att ha fältet som DATETIME och TIMESTAMP, men får 0000-00-00 00:00:00 som värde i fältet. Jag behöver ha fältet som datum-tid fält, då jag måste sortera och ta ut värden mellan vissa datum. Jag antar att jag måste konvertera textsträngen i PHP innan jag lägger in i databasfältet, men har inte lyckats få det att fungera. Tacksam för hjälp hur jag ska göra, så jag kan lagra $DTSTART och behålla både datum och tid, för att sedan ta ut det ur tabellen igen och göra om till originalformatet. <?php session_start(); $sid = session_id(); ?> <?php include ( 'icalEasyReader.php' ); $ical = new iCalEasyReader(); $lines = $ical->load( file_get_contents( 'Schema December 2017.vcs' ) ); //open Databas mysql_connect("************", "*************", "********"); mysql_select_db("*********"); foreach($lines as $ver) { foreach($ver as $event) { $DTSTART= $event['DTSTART']; //Denna rad ger: 20171201T162000Z $DTEND = $event['DTEND']; $SUMMARY = $event['SUMMARY']; // Lägg in värden i tabellen mysql_query("INSERT INTO db_kalender VALUES ('','" . $sid . "','" . $DTSTART . "','" . $DTEND . "','" . $SUMMARY . "','','')"); } }
  3. Nätverksenhet kan ej "glömma" autentisering

    Tack för förslaget, men det är i Windows filsystem som den kommit ihåg lösenordet. Hela situationen är den att jag kör Plex från en dator och har aktiverat så att Plex auto-startar vid boot. Eftersom filerna som Plex behöver komma åt, ligger på NAS, så valde jag att "komma ihåg" lösenordet för att inte behöva logga in via filhanteraren varje gång jag vill använda Plex (och den behöver uppdatera biblioteket). Då uppstår problemet när jag behöver komma åt andra kataloger med högre behörighet än Plex-kontot, så kan jag inte komma åt de filerna från filhanteraren, då jag redan är inloggad. Min fråga var om det fanns en enklare metod att "glömma" autentiseringen i Windows utan att logga ur Plex, starta om datorn och sedan logga in. Antar att jag får låta bli att auto-köra Plex vid boot och bara vid behov och då logga in. Tack för alla förslag.
  4. Nätverksenhet kan ej "glömma" autentisering

    Jag har kollat i Synology DSM och där står ingen connection. Finns inte så mycket man kan göra där verkar det som. Jag bytte temporärt lösenord på användaren då kunde jag reboota och logga in som annan användare, men det är ju ingen långtidslösning.
  5. Jag har en Synology NAS som ligger på nätverket. För att automatiskt komma åt en katalog på NAS, så använde jag "kom ihåg" lösenordsfunktionen. Nu är problemet att jag inte kan ta bort den autentiseringen för att logga in med ett annat konto på NAS från filhanteraren, då den säger att någon redan är inloggad och man kan bara ha en användare inloggad åt gången. Har tittat i Windows Autentiseringshanteraren, men där finns ingenting att ta bort.. Även provat att ta bort med cmd net use /d (vilket då säger att listan är tom och ej går att hitta någon nätverksanslutning).
  6. Det är till samma kod som jag frågat kring tidigare. Jag försöker automatiskt (via kod) formatera en lista med namn och rumsnummer, där rummet står i en kolumn och "platsen" står i nästa kolumn. Listan är dynamisk så till vida att varje gång man tar fram listan till Excel så har man olika antal rader. Listan ska delas upp i avdelningar, så att t.ex rum 7 plats 1 till rum 10 plats 4 (ibland blir det en plats 5 och 6 också) ska i en grupp och jag ska köra kod på dem så att radhöjden blir sidhöjden delat på antal rader, så de passar till exakt en sida vid utskrift. Man kan också i början via en Form, välja vilken "avdelning" man vill skriva ut, eller alla . Det jag VET är att sida 1 slutar efter "rum" 6, Sida 2 slutar innan A=9 och B=2, Sida 3 ska sluta innan A=10 och B=2, sida 4 ska vara fram till A=12 och B=1, sida 5 fram till det står A=15, B=1, Sida 6 fram till A=18, B=1 och sista sidan resten av "rum" 19 (kan vara plats 5 eller 6 i vissa fall). Man kanske kan göra det som formler, men eftersom koden redan är gjort för makrot för allt annat jag gjort med listan, så vore det smidigt att få in det i ett makro. Hoppas det blev tydligare och att någon kan hjälpa mig optimera min kod. Jag kan klistra in hela koden, men det är rätt lång kod.
  7. Hur kan jag göra en effektiv och smidig kod för att räkna radantal och lägga i en markering mellan 2 rader beroende på vad som står i kolumnen bredvid. se bild som exempel Kolumn A har ett värde (7) och på samma rad har kolumn B värde (1) jag ska räkna rader och lägga i en markering alla rader fram till det står 9 i kolumn A och 1 i kolumn B. Sedan ska jag göra samma sak för 9:2 till 10:4 och 11:1 till 12:1 osv och köra kod på markeringarna. Hur gör man detta på bästa sätt?
  8. ANSWERED VBA: olika utskrift i olika Excelversioner

    Tack. .Det verkar som en bra lösning. Jag fick justera litet i koden för att det skulle fungera, hoppas nu bara att det inte är en lösning som går sönder efter ett tag (ny Excelversion etc.). Hade hoppats på en smidig universell lösning. Fungerar för tillfället.
  9. Jag gör ett VBA makro i Excel för att formatera radhöjd mm på en lista. Beroende på en kolumns nummervärde så sätter jag in en radbrytning och räknar antal rader inom intervallet och delar så de precis ska få plats på en sida vid utskrift. Problemet är att jag vid utskrift från äldre Excelversioner (som vissa användare har) får bra utskrifter, men senaste Excel i vissa fall lägger en rad på egen sida. Finns det något sätt att vara säker på att utskrifterna blir som man vill i alla versioner av Excel? Vad bör jag tänka på? Marginalerna är satta så snävt som möjligt i VBA-koden. Jag kan inte konvertera till .pdf eftersom informationen inte får sparas på datorn, vilket annars var en idé jag hade. Tacksam för hjälp.
  10. Hej. Om man har vatten på händerna och tar exempelvis handsprit (alkoholhaltigt 70%) på händerna direkt, så känns händerna varma. Kan någon förklara i detalj varför detta händer och vad det är som händer?
  11. Hur raderar man rader i VBA - Excel ordentligt?

    Ja, helt riktigt. Så det blev något galet när jag la till kodsnutten som plockar ut raderna automatiskt (med en UserForm och radioknappar). Här är all kod: Dim Valt As String Private Sub Btn_Starta_Click() If Opt_EVAA.Value = True Then MsgBox "Valt EVA A" Valt = "A" AllaSidor ElseIf Opt_EVAB.Value = True Then MsgBox "Valt EVA B" Valt = "B" AllaSidor ElseIf Opt_EVAC.Value = True Then MsgBox "Valt EVA C" Valt = "C" AllaSidor ElseIf Opt_EVAAB.Value = True Then MsgBox "Valt EVA AB" ElseIf Opt_EVACA.Value = True Then MsgBox "Valt EVA CA" ElseIf Opt_HIA.Value = True Then MsgBox "Valt HIA" Else MsgBox "Välj en sida att skriva ut" End If End Sub Sub AllaSidor() Application.ScreenUpdating = False ' Aktivera fönstret som skall formateras, typ: 'ActiveWindow.ActivatePrevious ' Alla sidor med linjer ' Använder variabeln a från rumsnummerkoden att avgöra hur många linjer med ' text det finns och väljer utskriftsområde utifrån det ' Ta bort onödiga rader och kolumner Columns("A:A").Select Selection.Delete shift:=xlToLeft Rows("1:1").Select Selection.Delete shift:=xlUp Columns("C:C").Select Selection.Delete shift:=xlToLeft Columns("G:J").Select Selection.Delete shift:=xlToLeft ' Namnge celler ' *** Startnummer för rumsnummer (A1) *** CurrNum = Cells(1, 1).Value a = 1 ' *** Hänvisning till radnummer att starta på *** Do ' *** Om rutan är tom *** If Cells(a, 1).Value = "" Then Cells(a, 1).Value = CurrNum ' *** Lägg till rumsnummer att skriva ut *** CurrNum = Cells(a, 1).Value ' *** Lägg till en ny siffra i rumnsummervariabeln *** Else ' *** Om rutan har en siffra i sig (rumsnr), Lägg till den i rumsnr variabeln *** CurrNum = Cells(a, 1).Value End If ' Skriva sekr i Kolumn C If Cells(a, 3).Value = "J" Then Cells(a, 3).Value = "Sekr" End If a = a + 1 ' *** Kör så länge rutan till höger (sängnr) inte är tom *** Loop While Cells(a, 2).Value <> "" If Valt = "A" Then TaUtRumA ElseIf Valt = "B" Then TaUtRumB ElseIf Valt = "C" Then TaUtRumC End If UserForm1.Hide ' Kolumnbredd Columns("A:F").EntireColumn.AutoFit Columns("C:C").Select Selection.ColumnWidth = 5 Columns("E:E").Select Selection.ColumnWidth = 60 'Columns("I:I").ColumnWidth = 11.86 'Columns("H:I").ColumnWidth = 18 ' Radlinjer Range("1:" & a).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .ColorIndex = 0 .Weight = xlThin End With Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .ColorIndex = 0 .Weight = xlThin End With With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With ' Radhöjd If a < 10 Or a > 25 Then Range(Cells(1, 1), Cells(a - 1, 1)).Select Selection.RowHeight = (700 / (a - 1)) Else Range(Cells(1, 1), Cells(a - 1, 1)).Select Selection.RowHeight = (1400 / (a - 1)) End If ' Marginaler With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(3.93700787401575E-02) .RightMargin = Application.InchesToPoints(3.93700787401575E-02) .TopMargin = Application.InchesToPoints(0.5) .BottomMargin = Application.InchesToPoints(0.5) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintNoComments .PrintQuality = 600 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 100 End With Application.ScreenUpdating = True ' ' DateTimestamp Makro ' Rows("1:1").Select Selection.Insert shift:=xlDown Range("C1:G1").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge Selection.Value = Now() Selection.Font.Bold = True ' Utskriftområde 'ActiveSheet.PageSetup.PrintArea = "$A$1:$I$" & a ActiveSheet.PageSetup.PrintArea = "$A$1:$F$" & a End Sub Sub TaUtRumA() Dim rng As Range, cell As Range, del As Range 'Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) Set rng = Intersect(Range("A1:A200"), ActiveSheet.UsedRange) For Each cell In rng 'If (cell.Value) < 11 Or (cell.Value) > 15 If (cell.Value) < 11 Or (cell.Value) >= 16 Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub Sub TaUtRumB() Dim rng As Range, cell As Range, del As Range 'Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) Set rng = Intersect(Range("A1:A200"), ActiveSheet.UsedRange) For Each cell In rng If (cell.Value) < 16 Or (cell.Value) > 19 Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub Sub TaUtRumC() Dim rng As Range, cell As Range, del As Range 'Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) Set rng = Intersect(Range("A1:A200"), ActiveSheet.UsedRange) For Each cell In rng If (cell.Value) < 7 Or (cell.Value) > 10 Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub tillägg: Jag ser nu att jag möjligen använder samma variabel (a) som räknar alla rader från början senare i dokumentet i formateringen. Kan vara så att det är det som spökar. Jag kollar vidare på det. Tack
  12. Hur raderar man rader i VBA - Excel ordentligt?

    OK, jag får titta vidare på det. Saken är den att om jag raderar raderna manuellt _innan_ jag kör formateringskoden, så blir det helt rätt, det var därför jag tänkte att jag gjort något fel i kodsnutten som hämtar ut raderna åt mig som jag nyligen lade till. Om du vill kan jag posta hela koden som jag har.
  13. Jag har en VBA kod som formaterar ett exceldokument (en lång lista, där endast vissa rader ska behållas beroende på nummer i första kolumnen). När jag använder följande kod, så plockas rätt rader ut, men det blir en massa rader kvar under som är tomma, men räknas in i dokumentet och då blir radhöjden fel, när jag formaterar listan för utskrift. Det jag vill göra är att radera alla rader förutom de jag plockat ut. Går det? Sub TaUtRumA() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:A200"), ActiveSheet.UsedRange) For Each cell In rng If (cell.Value) < 11 Or (cell.Value) >= 16 Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub Tillägg: Så här ser listan ut från början: Så här ska den se ut: Men så här blir det:
  14. Ja, det fungerar någorlunda som det är. Får väl bara skriva en tydlig instruktion till användarna att starta om makroexcel-filen om de ska skriva ut en ny / annan lista. Programmet som genererar listorna har jag ingen kontroll över, det skapar en Bok1, Bok2 osv utifrån hur många filer som är skapade och öppna redan. Jag kanske får vara nöjd som det är, det är inget stort projekt, bara en automatisering av formatering av listan med radhöjd / radlinjer, som annars brukar göras manuellt varje gång man vill ha en lista vilket är ca 12 gånger per arbetspass. Tänkte man kunde spara lite tid. Tack
  15. Följdfråga. Jag har nu makrot färdigt och har gjort så att jag har en Excelfil med makrot och en knapp som man startar formateringen av det genererade excelarket med ActivateWindow.ActivatePrevious. Det verkar dock som att varje gång man genererar en ny lista från det externa programmet (som öppnar ett nytt excelark), så finns inte makrot att köra på det utan man måste starta om min excelfil med makrot för varje gång en ny fil skapats. Kan man komma ifrån detta på något sätt?
×