Unterschied zwischen HTML und HTA unklar

  • HTML

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Mono.

    Unterschied zwischen HTML und HTA unklar

    Hallo,

    ich habe für die Arbeit mal eine Maske erstellt die als .hta läuft und die interne Skriptsprache ist vbscript.
    Nach einem Systemwechsel ist nun die Anforderung, dass das Ding als .html läuft.
    Mein laienhafter Ansatz: "Kein Problem, dan äder ich halt die Dateiendung und fertig"
    Gesagt getan!

    Der Userinterface-Teil wird auch wunderbar im Browser angezeigt.
    Das Problem ist, dass der "Skript-Teil" nicht reagiert. --> als würde da nichts stehen.

    Ich habe den Corpus Delikti mal angehangen und hoffe das mir jemand weiterhelfen kann.
    Wie gesagt. --> .hta läuft --> .html nicht! :(

    vermutlich ist der Unterschied total simpel und man muss ihn nur kennen.

    Danke vorab für eure Hilfe.

    HTML-Quellcode

    1. <head>
    2. <title>dxf_und_Modell_von_KOB</title>
    3. <HTA:APPLICATION
    4. APPLICATIONNAME="dxf_und_Modell_von_KOB"
    5. SCROLL="yes"
    6. SINGLEINSTANCE="yes"
    7. >
    8. </head>
    9. <script language="VBScript">
    10. 'Deklaration
    11. Dim DateiTabellenarray, Anhang, AktionSHELL, AktionFSO, Zielpfad, file, ArtikelnummernSammlung
    12. Dim Textzeile, Versionsstand, Treffer, Zeilenposition
    13. 'Objekte
    14. Set AktionFSO = CreateObject("Scripting.FileSystemObject")
    15. Set AktionSHELL = CreateObject("WScript.Shell")
    16. DesktopPfad = AktionSHELL.SpecialFolders("Desktop")
    17. Dokumente = AktionSHELL.SpecialFolders("MyDocuments")
    18. Sub start()
    19. '############## Abfragen zu den Verzeichnissen ############ Achtung die HTA stirbt bei Ä Ü Ö in Pfaden ab##########
    20. If Ordnerangabe_option.Value = "" AND Aktion.Value = "Speichern_unter" Then
    21. Zielpfad = Ordnerangabe_textbox.Value
    22. Elseif Ordnerangabe_option.Value = "Desktop" AND Aktion.Value = "Speichern_unter" Then
    23. Zielpfad = DesktopPfad & "\Neuer Ordner"
    24. if AktionFSO.Folderexists(Zielpfad) = false then
    25. Set NeuerOrdner = AktionFSO.CreateFolder(Zielpfad)
    26. end if
    27. Elseif Ordnerangabe_option.Value = "Biegezentrum" AND Aktion.Value = "Speichern_unter" Then
    28. Zielpfad = "\\171fs1\Daten\Konstruktion-Austausch\dxf_zu_bz"
    29. Elseif Ordnerangabe_option.Value = "Boost" AND Aktion.Value = "Speichern_unter" Then
    30. Zielpfad = "\\171fs1\Daten\Konstruktion-Austausch\Boost"
    31. Elseif Ordnerangabe_option.Value = "Schlatter" AND Aktion.Value = "Speichern_unter" Then
    32. Zielpfad = "\\171fs1\Daten\Maschinen\Schlatter\DXF"
    33. End if
    34. If Zielpfad = "" AND Aktion.Value = "Speichern_unter" Then
    35. MsgHTA.InnerHTML = "Bitte geben Sie einen Pfad an."
    36. Exit Sub
    37. End If
    38. If Ordnerangabe_option.Value <> "" AND Ordnerangabe_textbox.Value <> "" AND Aktion.Value = "Speichern_unter" Then
    39. MsgHTA.InnerHTML = "Bitte nutzen Sie nur eine Option zur Pfadangabe."
    40. Exit Sub
    41. End If
    42. '############## Abfragen zur Version ############
    43. If Version_option.Value = "" Then
    44. Versionsstand = Version_textbox.Value
    45. Else
    46. VersionsstandOptionsFeld = Version_option.Value
    47. End if
    48. If Version_option.Value = "" AND Version_textbox.Value = "" Then
    49. MsgHTA.InnerHTML = "Bitte geben Sie eine Version an."
    50. Exit Sub
    51. End If
    52. If Version_option.Value <> "" AND Version_textbox.Value <> "" Then
    53. MsgHTA.InnerHTML = "Bitte nutzen Sie nur eine Option zur Versionangabe."
    54. Exit Sub
    55. End If
    56. Dateiendung = Dateiformat.Value
    57. '####################### Arbeitsbereich #############
    58. Tabellenarray = Split(Tabelleninput.Value,VBcrlf)
    59. i2 = UBound(Tabellenarray)+1
    60. Zaehler = 0
    61. ArtikelnummernSammlung = "Folgende Artikel wurden nicht gefunden: <BR> "
    62. Wurde_schon_ein_Artikel_geladen = false
    63. For i = 1 to i2
    64. Artikelnummer = Left(Tabellenarray(Zaehler),10)
    65. Verzeichnis = "\\171fs1\Daten\Konstruktion-Austausch\dxf_von_KOB\DXF_und_3D_Archiv" & Left(Artikelnummer,2) & "" & Mid(Artikelnummer,3,5)
    66. If AktionFSO.Folderexists(Verzeichnis) then
    67. Set Quellpfad = AktionFSO.GetFolder(Verzeichnis)
    68. Es_wurden_daten_kopiert = false
    69. '#######höchsten Versionstand bei "Aktuell" ermitteln ###########
    70. If VersionsstandOptionsFeld = "Aktuell" Then
    71. groesste_Version = 00
    72. For each file in Quellpfad.Files
    73. Dateiarray_Versionsermittelung = Split(file.Name,".")
    74. If Artikelnummer = Left(file.Name,10) and Dateiendung = "." & Dateiarray_Versionsermittelung(1) Then
    75. erfasste_Version = Mid(file.Name,18,2)
    76. If erfasste_Version >= groesste_Version Then
    77. groesste_Version = erfasste_Version
    78. End if
    79. End if
    80. Versionsstand = groesste_Version
    81. Next
    82. End if
    83. '################# eigentlicher Arbeitsbereich ##################################################
    84. For each file in Quellpfad.Files
    85. Dateiarray = Split(file.Name,".")
    86. If Right(Artikelnummer,3) = Mid(Dateiarray(0),8,3) and Versionsstand = Mid(Dateiarray(0),18,2) and Dateiendung = "." & Dateiarray(1) Then
    87. If AktionFSO.FileExists(file.Path) Then
    88. '############ Artikel_laden ##########
    89. If Aktion.Value = "Artikel_laden" AND Wurde_schon_ein_Artikel_geladen = false Then
    90. If AktionFSO.FileExists(file.Path) Then
    91. AktionSHELL.run file.Path,1,false
    92. Wurde_schon_ein_Artikel_geladen = true
    93. Es_wurden_daten_kopiert = true
    94. Else
    95. Wurde_schon_ein_Artikel_geladen = false
    96. Es_wurden_daten_kopiert = false
    97. End If
    98. Elseif Aktion.Value = "Artikel_laden" AND Wurde_schon_ein_Artikel_geladen = true Then
    99. Es_wurden_daten_kopiert = true
    100. ArtikelnummernSammlung = "Es kann immer nur ein Artikel geladen werden."
    101. End if
    102. '############ Speichern_unter ##########
    103. If AktionFSO.FileExists(Zielpfad & "" & file.Name) AND Aktion.Value = "Speichern_unter" Then
    104. Es_wurden_daten_kopiert = true
    105. Elseif not AktionFSO.FileExists(Zielpfad & "" & file.Name) AND Aktion.Value = "Speichern_unter" Then
    106. AktionFSO.copyFile file.Path, Zielpfad & "" & file.Name , false
    107. Es_wurden_daten_kopiert = true
    108. End if
    109. Else
    110. Es_wurden_daten_kopiert = false
    111. End if
    112. End If
    113. next
    114. Else
    115. Es_wurden_daten_kopiert = false
    116. End if
    117. Zaehler = Zaehler + 1
    118. 'If Es_wurden_daten_kopiert = false AND Aktion.Value = "Speichern_unter" Then
    119. If Es_wurden_daten_kopiert = false Then
    120. If Artikelnummer <> "" Then
    121. ArtikelnummernSammlung = ArtikelnummernSammlung & Artikelnummer & "<BR>"
    122. End if
    123. End if
    124. Next
    125. If ArtikelnummernSammlung = "Folgende Artikel wurden nicht gefunden: <BR> " then
    126. ArtikelnummernSammlung = "Erledigt!"
    127. End if
    128. MsgHTA.InnerHTML = ArtikelnummernSammlung
    129. End Sub
    130. </script>
    131. <script language="VBScript">
    132. Sub Ergebnisliste_leeren()
    133. MsgHTA.InnerHTML = ""
    134. End Sub
    135. </script>
    136. <body bgcolor="#CEF6D8">
    137. <P ALIGN="RIGHT"><b><font SIZE="2" color='red' align="right" fTabellenarraye='Calibri'>ITAB Harr</font></b></P>
    138. Dieses Tool oeffnet oder speichert die angegebenen Artikel<BR>
    139. in der geforderten Version aus der Historie.<BR><BR>
    140. Bitte geben Sie alle Informationen jeweils in den Textfeldern &nbsp; ODER &nbsp; in den Optionsfeldern an.<BR>
    141. Die Artikelnummern sind untereinander zu kopieren.<BR>
    142. Klicken Sie im Anschluss auf "start".
    143. <p>
    144. Aktion:&nbsp;&nbsp;&nbsp;&nbsp;
    145. <select size="1" name="Aktion" >
    146. <option value="Speichern_unter">Speichern unter</option>
    147. <option value="Artikel_laden">Artikel laden</option>
    148. </select>
    149. <p>
    150. Verzeichnis in das gespeichert werden soll:<BR>
    151. <input type="text" name="Ordnerangabe_textbox" size="50">
    152. /
    153. <select size="1" name="Ordnerangabe_option" >
    154. <option value=""></option>
    155. <option value="Desktop">Desktop\Neuer Ordner</option>
    156. <option value="Biegezentrum">Biegezentrum</option>
    157. <option value="Boost">Boost</option>
    158. <option value="Schlatter">Schlatter</option>
    159. </select>
    160. <p>
    161. Version:<BR>
    162. <input type="text" name="Version_textbox" size="1">
    163. /
    164. <select size="1" name="Version_option" >
    165. <option value=""></option>
    166. <option value="Aktuell">Aktuell</option>
    167. </select>
    168. &nbsp;&nbsp;&nbsp;&nbsp
    169. Dateiformat:&nbsp;&nbsp;&nbsp;&nbsp;
    170. <select size="1" name="Dateiformat" >
    171. <option value=".SLDPRT">.SLDPRT</option>
    172. <option value=".DXF">.DXF</option>
    173. </select>
    174. <p>
    175. Artikelnummern:<BR>
    176. <textarea name="Tabelleninput" rows=5 cols=70></textarea>
    177. <p>
    178. <input type="button" value="start" name="run_button" onClick="start">
    179. <input type="button" value="Ergebnisliste leeren" name="run_button" onClick="Ergebnisliste_leeren">
    180. <p>
    181. <font color='red'><span id = "MsgHTA"></span></font>
    182. </body>
    Dateien
    VBScript wird in Browsern so gut wie nicht unterstützt.
    Afaik unterstützt das nur der IE bis zu einer gewissen Version. (Ab 11 ist es obsolet)

    LG
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mono“ ()

    Afaik=As far as I know.

    ​Gibt es eine Alternative um mit Visual Basic in einem HTML Dokument zu schreiben?


    Keine die man einfach als Script einbinden kann. Im Grunde kann man sagen, man hat sich auf JavaScript geeinigt als Scriptsprache für HTML den alle Browser unterstützen.

    VB kann man nur Serverseitig verwenden.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Blazor ist noch beta aber ne coole Sache. Bin gespannt ob das (bzw. Webassembly) die Webentwicklung revolutioniert :D
    Aber du kannst damit nicht einfach ne HTML mit VB.NET Code erstellen und die läuft einfach.
    Brauchst ja wasm und die ganzen Libs. Ka wie man das mal nur lokal bauen würde. Die net framework libs schickt ja normal der Server mit.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mono“ ()